ContainsJS是一款可用于搜索某个字符串或元素在DOM树中的位置的JavaScript库。使用ContainsJS,用户可以在DOM树中查找到任何具有指定内容的元素,包括文本节点或属性节点等。
一、基础使用方法
首先,在标签下添加以下代码:
<script src="https://cdn.jsdelivr.net/npm/containsjs@0.0.4/dist/contains.min.js"></script>
然后,在你的JavaScript代码文件中引用ContainsJS:
const contains = window.contains;
接着可以使用contains()函数开始搜索:
contains(element, searchString);
其中,element参数为要搜索的DOM元素,searchString参数为要搜索的字符串。
二、高级使用方法
1、在搜索前配置ContainsJS
ContainsJS可以使用config()函数配置诸如搜索限制、搜索方式等信息。
contains.config({ matchExactly: false, // 是否完全匹配搜索字符串。默认为false。 ignoreSpaces: true, // 是否忽略搜索字符串中的空格。默认为true。 ignoreCase: true, // 是否不区分大小写搜索。默认为true。 xpath: false // 是否使用xpath搜索方式。默认为false。 });
2、在结果中针对元素包含不同类型内容
contains()函数返回的结果并不仅限于表示字符串匹配的元素。用户可以使用getMatchType()和getMatchDetail()函数,来得到搜索结果中元素包含不同类型内容的详细信息。
let result = contains(document.body, "example"); // element、text、attr、attrValue let matchType = contains.getMatchType(result); let matchDetail = contains.getMatchDetail(result);
3、自定义搜索方式
除了contains()函数内置的搜索方式以外,ContainsJS还提供了自定义搜索函数的功能。
contains("my-element", el => { const tag = el.tagName.toLowerCase(); const id = el.getAttribute("id"); return tag === "p" && id === "my-paragraph"; });
三、推荐使用场景
1、搜索页面关键词
如果你需要在一个页面中搜索某个关键词,并且需要返回文本节点或属性节点信息,ContainsJS是十分合适的工具。
let result = contains(document.body, "example");
2、在表格中查找内容
ContainsJS可以用于在带有大量数据的表格中查找并高亮匹配项,提供更好的搜索体验。
let table = document.getElementById("my-table"); let rows = table.getElementsByTagName("tr"); for (let row of rows) { if (contains(row, "example")) { row.classList.add("highlighted-row"); } }
3、自定义搜索框实现
通过对ContainsJS配置,可以实现自定义搜索方式,支持更为多样化的搜索框定制。
contains.config({ matchExactly: false, xpath: true // 开启xpath搜索 }); let result = contains(document.body, "//p[contains(text(), 'example')]");
结语
ContainsJS是一个强大、易用的JavaScript库,可高效地搜索DOM元素中包含的字符串和属性值等内容,适用于多种场景,并且支持多样的配置和自定义方式。该库还在不断完善和更新中,期待更多的功能被添加与发掘。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/285052.html