我知道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/

10-10 06:04