javascript - 在 DOM 中搜索不区分大小写的字符串

标签 javascript dom search case-insensitive

我遍历每个文本节点,并寻找一个搜索字符串,无论它是否在该文本节点中可用。如果它存在,我将围绕 span 节点进行突出显示。此链接提供示例代码:。 http://jsfiddle.net/LcRDz/ .

现在,如果用户输入一个词,它只会搜索该词。 我需要在 DOM 中搜索单词而不考虑大小写。例如,如果我的搜索词是 the,它应该突出显示单词 The、THE、the

最佳答案

在使用 indexOf 检查之前,对两个值使用 toLowercase,使比较不区分大小写。

 //Notice both n.nodeValue and word are sent to lowercase.
 for (var i;
        (i = n.nodeValue.toLowerCase().indexOf(word.toLowerCase(), i)) > -1; 
           n = after) {
             var after = n.splitText(i + word.length);
             var highlighted = n.splitText(i);
             var span = document.createElement('span');
             span.className = "spanClass";
             span.style.backgroundColor = "red";
             span.appendChild(highlighted);
             after.parentNode.insertBefore(span, after);
         }

JS fiddle : http://jsfiddle.net/LcRDz/2/

关于javascript - 在 DOM 中搜索不区分大小写的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20093017/

相关文章:

PHP/MySQL : Custom site search

SQL 多对多选择与链接表

javascript - JS : Convert URL into its simplest form

javascript - 将过滤后的 html 表数据下载到 csv 文件

javascript - 如何只打印outerHTML

android - dom解析时如何区分父子标签?

javascript - Angular-CLI 错误 : Return type of public method from exported class has or is using name 'ErrorObservable' from external module but cannot be named

javascript - Node.JS 套接字服务器和同一服务器上的连接速度变慢

java - 用java解析xml DOM子节点

excel - 在 MS Excel 中创建 "search"函数