ContainsJS 使用指南
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元素中包含的字符串和属性值等内容,适用于多种场景,并且支持多样的配置和自定义方式。该库还在不断完善和更新中,期待更多的功能被添加与发掘。