jQuery - 替换(文本)内容
jQuery - replace (text) content
场景
我有以下 HTML 代码片段:
<div class="container">
TEXT
<p> PARAGRAPH 1 </p>
<p> PARAGRAPH 2 </p>
<p> PARAGRAPH 3 </p>
<p> PARAGRAPH 4 </p>
</div>
我需要使用 JS/jQuery、HTML DOM 方法更改纯文本。
问题
** 我可以使用
访问“纯文本”节点
document.getElementsByClassName("container")[0].childNodes[0]
** 但是,我不能使用 innerHTML
,因为它 returns "undefined
":
document.getElementsByClassName("container")[0].childNodes[0].innerHTML
** 使用 replaceChild
方法也不起作用(它会在控制台日志中触发 Uncaught DOMException
)。
var textnode = document.createTextNode("THE TEXT HAS BEEN REPLACED");
var element = document.getElementsByClassName("container")[0].childNodes[0];
item.replaceChild(textnode, item);
** 最后,使用
document.getElementsByClassName("container")[0].innerHTML
选择<div class="container">
内的所有HTML内容。
有什么方法可以访问“TEXT”的文本内容并动态更改它?
JSFIDDLE
就这样
$(".container").html($(".container:first-child").html().replace("TEXT","TEXT CHANGED"));
应该是
document.getElementsByClassName("container")[0].childNodes[0].textContent = "New Text";
场景
我有以下 HTML 代码片段:
<div class="container">
TEXT
<p> PARAGRAPH 1 </p>
<p> PARAGRAPH 2 </p>
<p> PARAGRAPH 3 </p>
<p> PARAGRAPH 4 </p>
</div>
我需要使用 JS/jQuery、HTML DOM 方法更改纯文本。
问题
** 我可以使用
访问“纯文本”节点document.getElementsByClassName("container")[0].childNodes[0]
** 但是,我不能使用 innerHTML
,因为它 returns "undefined
":
document.getElementsByClassName("container")[0].childNodes[0].innerHTML
** 使用 replaceChild
方法也不起作用(它会在控制台日志中触发 Uncaught DOMException
)。
var textnode = document.createTextNode("THE TEXT HAS BEEN REPLACED");
var element = document.getElementsByClassName("container")[0].childNodes[0];
item.replaceChild(textnode, item);
** 最后,使用
document.getElementsByClassName("container")[0].innerHTML
选择<div class="container">
内的所有HTML内容。
有什么方法可以访问“TEXT”的文本内容并动态更改它?
JSFIDDLE
就这样
$(".container").html($(".container:first-child").html().replace("TEXT","TEXT CHANGED"));
应该是
document.getElementsByClassName("container")[0].childNodes[0].textContent = "New Text";