1

我是 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,我如何才能看到元素不在链接标签中(我的意思是使用嘶嘶声选择器,考虑到链接标签可以是元素的上父节点)。

谢谢。

4

0 回答 0