2012-04-26 29 views
12
$('.test').css('background','red'); 

<div id="example">Some text</div> 

#exampleに「text」という単語が含まれている場合はどうすればできますか?要素に特定のテキストが含まれている場合

+0

の説明については、外観hereを試してみましたがありますか?率直に言って、これはjQuery APIの本当に単純な使い方のようです。 –

+0

** 1。**疑問を持って、その前に "jquery"を追加してください。 "要素に特定のテキストが含まれている場合jquery" ** 2。** googleに移動して検索を実行します。 – Joonas

答えて

16

ちょうどそれが「テキスト」を含んでいる場合、これは#exampleにクラスを追加します:contains疑似クラス

$('#example:contains("text")').addClass('test'); 

を使用

+0

パーフェクト、ありがとう! – UserIsCorrupt

6

あなたが取得するtext()を使用し、その後、要素のためのjQueryのラッパーを取得するために$("#example")を使用することができますそのテキスト、およびString#indexOfを使用して、例えば:

var ex = $("#example"); 
if (ex.text().indexOf("text") !== -1) { 
    ex.addClass("test"); 
} 

あなたはまた、を使用することができますをセレクタにF. Calderan showsとしていますが、そのような非標準の擬似セレクタを使用すると、jQueryは要素を見つけるために基礎となるブラウザの組み込みのものを使用できないため、処理速度が遅くなる可能性があります。上記の結果、jQueryはdocument.getElementByIdを使用できます。しかし、スピードが本当に重要なのはわずかな状況だけです。

1

次のコード

$('#example:contains("text")').addClass('test'); 

を試してみてください、あなたは何を例と:containsセレクタ

+0

私は内部のテストがテキストでなければならないと思います。 – Zafer

+0

@Zafer Typo、ありがとうソート! :) –

関連する問題