2012-02-07 5 views
2

現在の選択オプションと一致するH1タグにクラスを追加しようとしています。jQuery:セレクタが含まれています<option> VALUE</option>

jQueryの

var option = $('#fruits').val() 
    $("h1:contains(option)").addClass('selected') 

HTML

<select> 
    <option>Select One</option> 
    <option>apple</option> 
    <option>orange</option> 
    <option>lemon</option> 
</select> 

<h1>apple</h1> 
<h1>orange</h1> 
<h1>lemon</h1> 

答えて

4

を連結optionセレクタに....

$("h1:contains('" + option + "')").addClass('selected') 
+0

外側に一重引用符を使用し、containsセレクタの内側に二重引用符を付けることが推奨されます(http://api.jquery.com/contains-selector)。 –

+0

この問題は、セレクタに入力フィールドからの文字列をエスケープせずに入力していることが原因です。だから、壊すのはとても簡単でしょう。 –

+1

パーフェクト...私は今この問題を2時間作業しているので、飲み物が必要です。 –

0

optionが引用されているので、文字列リテラルとして扱われます。サイドノートとして

$("h1:contains(" + option + ")").addClass('selected') 

非CSSセレクタを使用している場合、それはより速くだとして、あなたは、.filter()を使用する必要があります。

$("h1").filter(":contains(" + option + ")").addClass('selected')