3

ドキュメントには、さまざまな名前のフォームを含む約25のDIVがあります。DIVはすべて同じクラス名を持ち、次のようになります。

<div class="swoop" style="display:none">
  <form name="myFormXYZ" method="post">
    <input name="caption" type="hidden" value="19">
  </form>
</div>

「swoop」のクラスを持つすべてのDIVをチェックするjQueryコードを記述したいのですが、いずれかのDIVにxの値を持つ「caption」という名前の入力フィールドが含まれている場合、それらのDIVの表示プロパティを「block」に設定する必要があります"。xは1から1000までの整数になります。

これまでのところ、私はこれを思いついた:

$('.swoop').each(function() {
    var capt = $( ? ? ? ).attr('value()');
    if (capt == x) {$(this).css.(display','block')}
});

jQuery関数は、表示がnoneに設定されているDIVを反復処理することもできますか?

4

6 に答える 6

7

さらに別の方法:

$('.swoop').has('input[name=caption][value=' + x + ']').show();

これは、代わりに属性セレクターを使用して、特定の値を持つ入力要素を検索します。.has渡されたセレクターに一致する子孫を持つ要素で要素をフィルター処理し.showます。これは自明である必要があります。

于 2013-01-24T21:43:39.397 に答える
1
var someInt = 7;    
$('.swoop').each(function() {
    var capt = $('input[name=caption]', this).val());
    if (capt == someInt) {$(this).css('display','block');}
});
于 2013-01-24T21:41:12.977 に答える
1

必要なもの:

$('.swoop').each(function() {
    var capt = $('input[name=caption]', this).val();
    if (capt == x) {$(this).css.('display','block')}
});
于 2013-01-24T21:40:13.160 に答える
1
$('.swoop input[name="caption"]').each(function() {
    var capt = $(this).val();
    if (capt == x) {
        $(this).closest('.swoop').css('display','block')
    }
});
于 2013-01-24T21:43:08.767 に答える
0

はい、jQueryは要素が非表示になっている場合でも要素にアクセスできます。

現在のアイテムをjQuery呼び出しのコンテキストとして使用して、その中の要素を探します。メソッドを使用しvalて入力の値を取得し、値を解析して文字列を数値に変換する必要があります。

var capt = parseInt($('input[name=caption]', this).val(), 10);
if (capt == x) { $(this).css('display','block'); }
于 2013-01-24T21:42:49.050 に答える
0
var v = 19;    
$('.swoop input[name=caption]').each(function () {
            var capt = $(this).attr('value');
            if (capt == v) { 
            $(this).parents("div").andSelf().css('display', 'block');
            $(this).attr({ type: '' }); }
        });
于 2013-01-24T21:55:43.500 に答える