如何更改文本节点文本?
<p class='theClass'> bbb <a href=#> foo</a> aaa </p>
我正在尝试将'aaa'和'bbb'更改为hello world
。我成功地选择了这些节点,但无法更改其文本。
var $textNodes = $('.theClass').contents().filter(function() {
return this.nodeType == Node.TEXT_NODE;
});
我可以用$textNodes
来更改文字吗?
答案 0 :(得分:3)
使用文本节点的nodeValue
或data
属性。两者都同样有效且得到很好的支持:
$textNodes.each(function() {
this.data = "CHANGED";
});
顺便说一句,IE&lt; 1&gt;中不存在Node.TEXT_NODE
。 9,所以最好只使用3
代替。
答案 1 :(得分:2)
您无法使用jQuery直接编辑文本节点。
直接在节点上使用原生data
或nodeValue
属性。
$textNodes.each(function() {
this.data = "Hello world";
// this.nodeValue = "Hello world";
});
答案 2 :(得分:1)