2

セレクター/横断に問題があります。基本的に、ユーザーが選択を押したときにポップアップ div が開くようにします。より大きなプログラムが使用されているため、この構造を使用する必要があるため、適切なセレクターのみを探しています。

HTML

<div class="box">
 <div class="popup"></div>
 <select></select>
</div>

jQuery

$('div.box select').focus(function (){
 $(this).closest('div').next().css('display','block');
});
4

3 に答える 3

3

その親を選択し、ポップアップを見つけます。

$('div.box select').focus(function (){
  $(this).parent('.box').find('.popup').css('display','block');
});
于 2012-10-01T15:01:58.937 に答える
2

prev()メソッドを使用できます。一致した要素の前の兄弟を返します。

$("div.box select").focus(function() {
    $(this).prev().css("display", "block");
});

編集:popupマークアップ構造が異なる可能性があり、クラスに一致させたい場合は、代わりにprevAll()を使用します。

$("div.box select").focus(function() {
    $(this).prevAll(".popup").css("display", "block");
});
于 2012-10-01T15:01:41.733 に答える
0

これを試して

$('div.box select').focus(function (){
 $(this).closest('div').find('.popup').show();
});
于 2012-10-01T15:13:03.590 に答える