2012-05-07 15 views
1

要素の1つに特定の単語が含まれているかどうかを調べるためにjqueryを使用しようとしていますが、その要素に対していくつかのjqueryコードを実行します。要素に単語Xが含まれている場合実行Y

私はこれをどのように達成することができますか?

例:

if ($("#producttabs2 #producttabs ul li a").has('iPhone App')) { 
    $(this).css("border","1px solid red"); 
} 
+0

オリジナルのポストを確認してください。ありがとう;) – AnchovyLegend

答えて

4

使用フィルタ:

$('div').filter(function() { 
    return this.innerHTML.indexOf(somestring) !== -1; 
}).css("border","1px solid red"); 
+0

+1は最も柔軟なソリューションです。 –

3
if ($('div').is((':contains("bird")')) 
// code here 

あなたは:contains selectorをしたい:私が試した何

if $('div').contains('Bird'){ 

     ****execute jquery***** 

} 

マークアップ

<div>Dog x y z </div> 
<div>Cat x y z </div> 
<div>x y z Bird</div> 
<div>x y z Fish</div> 

+0

注意:セレクタ 'div'に一致する__any__要素がそのテキストを含む場合、.is()はtrueを返します。 using:containsはよいオプションですが(おそらくパフォーマンスは劣りますが)OPがcssをdivのサブセットに適用したい場合は.filter()で使用する方が良いでしょう。それ以外の場合は、1つのdivでも条件に一致する場合、ページのすべてのdivがcssを取得します。 – benastan

1

シンプルなjQueryの:

$('div').each(function() { 
    if($(this).text().indexOf('Bird') != -1) { 
    //do something 
    } 
}); 

jsFiddle example

+0

+1バマー..それに私に。 –

0
$('div').filter(function() { 
    return this.innerHTML.match(/bird/ig); 
}).css({ 
    border: '1px solid #f00' 
}); 

DEMO

関連する問題