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