私は 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 つの「キーワード」があり、どちらも結果の親要素を返します (ここでは div は不要です)。
この問題を防ぐために Sizzle を使用する方法はありますか?
追加の質問: Sizzle selectros と w3c セレクターを検索しました。":not" セレクターは、指定されたセレクターの負の値を取得するために使用されます。「parentElement」属性を使用してdomをトラバースせずに要素がリンクタグにないことを確認するにはどうすればよいですか(リンクタグが要素の上位の親ノードになる可能性があることを考慮したシズルセレクターを意味します)。
ありがとう。