1

重複の可能性:
要素に特定のテキストが含まれている場合

私はこの(更新された) htmlを持っています:

<div>
    <div class="checkBox">
        <input type="checkbox" name="toppings" class="NS" value="n"  />
    </div>
    No Sauce                    
</div>

<div>
    <div class="checkBox">
        <input type="checkbox" name="toppings" class="NC" value="x"  />
    </div>
    No Cheese                    
</div>

<div>
    <div class="checkBox checkBoxSelected">
        <input type="checkbox" name="toppings" class="no_submit" checked="checked" value=""  />
    </div>
    Regular Cheese                    
</div>

<div>
    <div class="checkBox">
        <input type="checkbox" name="toppings" class="no_submit" value=""  />
    </div>
    Regular Sauce                    
</div>

テキスト「Regular Cheese」を含むdiv内にある入力タイプを(jquery経由で)取得するにはどうすればよいですか?

次のようにすべてのチェックボックスを取得できることを知っています。

$("input.no_submit:checkbox")

そして、アイテムの親 div に影響を与えたい場合は、次のようにできることを理解しています。

$("input.no_submit:checkbox").parent("div").removeClass("checkBoxSelected");

次のような実際のテキストを取得できます。

​var myText = $("div").text();

しかし、テキストが特定の文字列であるクラスレス div 内にあるネストされた div 内の実際の入力要素を指す var を設定できるように、それらを組み合わせる方法がわかりません。

4

3 に答える 3

1

または、ここで少し異なるデモ:http: :) //jsfiddle.net/NBGBP/

それがニーズに合うことを願っています!

コード

$(document).ready(function() {
    $('.no_submit').click(function() {

        if ($(this).is(':checked')){
            alert('Div text ==> ' + $(this).parents('div').text());   
        }

    });
});​
于 2012-10-17T20:14:18.383 に答える
1

:contains()を使用してフィルターを実行し、「RegularCheese」テキストを見つけることができます。div:containsを実行する代わりに、これをフィルターに分離すると、セレクターが高速になります。次に、親divにある入力を見つけて、そのタイプを出力します。

$("div").filter(":contains('Regular Cheese')")
    .find("input.no_submit").prop("type");

http://jsfiddle.net/ZeSdV/1/

于 2012-10-17T20:18:58.427 に答える
0

これを試して

$('div:contains("Regular Cheese") input.no_submit') 

参照:

含む-http://api.jquery.com/contains-selector/

デモ: http: //jsfiddle.net/Fs9tK/

于 2012-10-17T20:14:13.023 に答える