这是我的HTML:,
<div>hello<span>hai</span></div>
在上面的结构中,我只需要将值“hello”更改为其他文本,所以我尝试了这个:
$('div').contents()[0].value = "text"; //attempt 1
$('div').contents()[0] = "text"; //attempt 2
任何人都可以提出正确的方法来实现我想要的......?
答案 0 :(得分:4)
您可以使用.nodeValue属性
$('div').contents()[0].nodeValue = "text";
演示:Fiddle
或
$('div').prop('firstChild').nodeValue = "text";
演示:Fiddle
答案 1 :(得分:1)
检查此 demo jsFiddle
$('div').contents()[0].nodeValue = 'test';
更改特定字符串替换的另一种方法,
检查此 demo jsFiddle
$('div').contents(':contains("hello")')[0].nodeValue = 'test';
$('#one').contents(':not(*)')
在这种情况下,文本节点选择非元素子节点,第一个节点是我们要替换的节点。
$('div').contents(':not(*)')[0].nodeValue = ' test ';
希望这对你有帮助!