使用javascript更改标记之间的文本

时间:2013-06-25 15:56:33

标签: javascript text innerhtml

我想更改这些标记之间的一些文字:

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

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

1 个答案:

答案 0 :(得分:3)

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

  1. 字符串替换和HTML解析(使用innerHTML
  2. DOM操作设置文本节点(使用textContent
  3. 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';
    }