jQuery - 替换(文本)内容

时间:2015-09-29 18:49:49

标签: javascript jquery html dom frontend

  • SCENARIO

我有以下HTML代码段:

<div class="container">
    TEXT
    <p> PARAGRAPH 1 </p>
    <p> PARAGRAPH 2 </p>
    <p> PARAGRAPH 3 </p>
    <p> PARAGRAPH 4 </p>
</div>

我需要使用HTML DOM方法使用JS / jQuery更改纯文本。

  • 问题

**我可以使用

访问“纯文本”节点
document.getElementsByClassName("container")[0].childNodes[0]

**但是,我无法使用innerHTML,因为它返回“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

http://jsfiddle.net/kouk/4otbqc75/

2 个答案:

答案 0 :(得分:0)

就像这样

Demo

$(".container").html($(".container:first-child").html().replace("TEXT","TEXT CHANGED"));

答案 1 :(得分:0)

应该是

document.getElementsByClassName("container")[0].childNodes[0].textContent = "New Text";