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/zh-hk/n/285052.html