1. ホーム
  2. jquery

[解決済み] コンテンツの完全一致で要素を選択する

2022-04-21 16:22:36

質問

さて、このような場合に備えて :contains() を持つ要素を選択するためのjQueryのセレクタです。 のみ で入力された文字列

例えば

<p>hello</p>
<p>hello world</p>

$('p:contains("hello")').css('font-weight', 'bold');

セレクタは p 要素を太字にしたいのですが、最初の1つだけを選択するようにしたいのです。

どのように解決するのですか?

いいえ、そのようなjQuery(またはCSS)セレクタはありません。

を容易に使用することができます。 filter :

$("p").filter(function() {
    return $(this).text() === "hello";
}).css("font-weight", "bold");

というわけではありません。 セレクター しかし、それは仕事です。)

もし、"hello" の前後に空白を処理したい場合は、hello".hello.hello.hello と同じように $.trim を入れる。

return $.trim($(this).text()) === "hello";

早熟なオプティマイザーのために、マッチしないことを気にしないのであれば <p><span>hello</span></p> などの呼び出しを避けることができます。 $text を使用することで innerHTML を直接指定することができます。

return this.innerHTML === "hello";

...ただし、そのためには ロット の段落数が多いので、まず他の問題が発生すると思われます :-)