我有一个显示“香蕉”的字符串
我想用“Apple”替换它
这就是我所拥有的
<span id="Fruit">Banana</span>
这是我正在使用的脚本。
var td1 = document.getElementById('Fruit');
var text = document.createTextNode("Apple");
td1.appendChild(text);
这就是它所显示的内容。
BananaApple
<span id="Fruit">
"Banana"
"Apple"
</span>
如何摆脱香蕉并将其替换为Apple?
<span id="Fruit">Apple</span>
答案 0 :(得分:8)
只需更新innerHTML:http://jsfiddle.net/SNtmL/
document.getElementById('Fruit').innerHTML = "Apple";
答案 1 :(得分:5)
假设有一个textNode
:
var td1 = document.getElementById('Fruit'),
text = document.createTextNode("Apple");
td1.replaceChild(text,td1.firstChild);
或者:
var td1 = document.getElementById('Fruit');
td1.firstChild.nodeValue = 'Apple';
或者:
var td1 = document.getElementById('Fruit'),
text = 'textContent' in document ? 'textContent' : 'innerText';
td1[text] = 'Apple';
参考文献:
答案 2 :(得分:2)
您不想要新的文本节点,您想要更改现有节点。
快速而肮脏的解决方案是:
document.getElementById("Fruit").innerHTML = "Apple";
答案 3 :(得分:0)
为了更有效地从父级中删除所有节点,您始终可以使用while()
条件:
var td1 = document.getElementById("Fruit"), text = document.createTextNode("Apple");
while(td1.hasChildNodes()) {
td1.removeChild(td1.firstChild);
}
td1.appendChild(text);