: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」の前後の空白を処理したい場合は、$.trim
そこで:
return $.trim($(this).text()) === "hello";
世の中の未熟な最適化者にとって、一致や類似性がなくても構わないのであれば、直接 を使用することでと<p><span>hello</span></p>
の呼び出しを回避できます。$
text
innerHTML
return this.innerHTML === "hello";
...しかし、多くそれが重要になるには段落が多すぎるので、おそらく他の問題が先に発生するでしょう。 :-)