0

我想更改这些标签之间的一些文本:

<div id=thing>
<a href=link></a>texttochangehere<a href=link2></a>
</div>

但不改变链接。我尝试只用 innerHTML 和子字符串替换我想要的部分,但它似乎取消了另一个脚本使用的标签的链接。

4

1 回答 1

5

至少有两种方法可以实现您的目标:

  1. 字符串替换和 HTML 解析(使用innerHTML
  2. DOM 操作设置文本节点(使用textContent
var div = document.getElementById('thing');

// replace text in HTML string:
div.innerHTML = div.innerHTML.replace('texttochangehere','changedtext');

// manipulating text node:
for(var node of div.childNodes){
    if(node.nodeType == 3 && node.textContent == 'texttochangehere')
        node.textContent = 'changedtext';
}
于 2015-08-14T18:54:32.137 回答