我知道 innerHTML 被认为是邪恶的,但我认为这是更改链接文本的最简单方法。例如:
<a id="mylink" href="">click me</a>
在 JS 中你可以改变文本:
document.getElementById("mylink").innerHTML = new_text;
在 Prototype/jQuery 中:
$("mylink").innerHTML = new_text;
工作正常。否则,您必须先替换所有子节点,然后再添加一个文本节点。何必呢?
最佳答案
怎么样
document.getElementById('mylink').firstChild.nodeValue = new_text;
这不会遇到 PEZ 描述的问题。
关于Triptych的评论和bobince的回复,还有一个解决办法:
var oldLink = document.getElementById('mylink'),
newLink = oldLink.cloneNode(false);
newLink.appendChild(document.createTextNode(new_text));
oldLink.parentNode.replaceChild(newLink, oldLink);
关于javascript - 如果 innerHTML 是邪恶的,那么更改链接文本的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395051/