getElementsByTagName查找标签,然后读取字符串并替换文本

getElementsByTagName to find tag then read string and replace text

本文关键字:字符串 串并 替换 文本 字符 读取 查找 标签 然后 getElementsByTagName      更新时间:2023-09-26

我花了很长时间尝试和工作在这个没有运气,你看到我是相当新的javascript。我正在做一个谷歌chrome扩展,我希望阻止某些词在一个页面上已被用户定义,但我希望这样做没有getelementbyid作为网页他们不会有我想要的id。例如,让用户输入他或她想要阻止的单词,然后这些单词将在他们访问的任何网页上被替换。非常感谢帮助。到目前为止,我所拥有的只是通过id获取元素,而不是标签

文本可以在任何元素中,所以getElementsByTagName不会有太大的用处。

相反,考虑遍历所有节点。查找类型为3的节点(文本节点),并替换它们的内容。

document.body开始,得到它的.children[],递归循环

下面是一个工作示例:http://jsfiddle.net/cmontgomery/V45LS/

秘方:

soapInTheMouth = function(node) {
  var allNodes = node.childNodes;
  $.each(allNodes, function(i,n) {
    if(n.nodeType === 3) {
      n.nodeValue = n.textContent.replace(/shit/g,'crap');
    } else {
      soapInTheMouth(n);
    }
  });
}

谢谢大家,但我修复了它只是一个语法错误代表我