我是 JS 和 Sizzle 的新手,试图实现一个根据关键字生成链接的系统,如 Google AdSense 所做的。我已经搜索并决定为此使用 Sizzle CSS Selector。
我有一个 html 文档和一个关键字,我想搜索“所有不在链接(标签)中的关键字。
我的示例 HTML 部分
<div> <p>... some text ....
....................................
<strong>......keyword......</strong>
....................................
...........................keyword..
....................................
</p> </div>
我使用 ":contains" 选择器在 JS 中搜索这个关键字,并使用文档正文作为搜索上下文。搜索结果后,我将用一些链接(关键字)替换元素。
Sizzle(":contains(keyword)", document.body);
它返回给我一个包含“div、p、strong”元素的数组。上下文中有 2 个 "keyword" ,它们都返回结果的父元素(此处不需要 div)。
有没有使用 Sizzle 来防止这个问题?
一个额外的问题:我搜索了 Sizzle 选择器,也搜索了 w3c 选择器。":not" 选择器用于获得负的给定选择器。如果不使用“parentElement”属性遍历 dom,我如何才能看到元素不在链接标签中(我的意思是使用嘶嘶声选择器,考虑到链接标签可以是元素的上父节点)。
谢谢。