如何使用javascript搜索html中的特定文本或“字符串”? (chrome extensiont)

时间:2019-10-02 16:44:18

标签: javascript

我正在创建一个chrome扩展程序,当它检测到某个字符串时,它将在扩展程序上显示某个html页面。因此,我尝试使用.search后接“ if else语句”。为了清楚说明它正在运行,我在“如果不是”中设置了一个警报。但这似乎不起作用。

有帮助吗? 这是javascript文件

var elements = document.getElementsByTagName('*');

for (var i = 0; i < elements.length; i++) {
    var element = elements[i];

for (var j = 0; j < element.childNodes.length; j++) {
    var node = element.childNodes[j];

    if (node.nodeType === 3) {
        var text = node.nodeValue;
        var searchText = text.search(/nmd/g);
        // var replacedText = text.replace(/nmd/gi, 'nmdReplaced');
        if(searchText == text){
            alert("connected");
        }

        if (replacedText !== text) {
            element.replaceChild(document.createTextNode(replacedText), node);
        }
    }
}
}

text.replace有效,但这不是我想要的。

1 个答案:

答案 0 :(得分:0)

Search方法返回匹配的字符串或模式的index,而不是字符串本身;如果不匹配,则返回-1

所以您的if(searchText == text)总是会失败,并且会转到其他部分,您只需检查if(searchText !== -1)