0

Jquery アコーディオンを使用してダイナツリーを設定しています。ヘッダーのクリック時にアコーディオン div を設定する必要があるため、div id を取得しようとしています。この Jquery は機能しますが、ヘッダーではなく、展開された div 内をクリックした場合にのみ機能します。私のイベントは .common click であるため、これは理にかなっています。

 $(".common").click(function () {
        var currentID = $(this).attr("id");
        alert(currentID);
    });    

 <div id="accordion">         
    <h3>Project Type</h3>
     <div id="1" class="common" style="height:150px;"> 
    </div>

    <h3>Ammenities</h3>
    <div id="2" class="common" style="height:150px;">  
    </div>
 </div>

ヘッダーのクリックで div id を取得する方法を理解する必要があります。アコーディオンはうまく再生されないので、ID とクラスをヘッダーに切り替えると、イベントが発生しません。使用してみましたが$("#accordion .common").click、これも機能しません

4

1 に答える 1

0

h3要素の前の兄弟である要素を.commonターゲットにすることができます

$(".common").prev('h3').click(function () {
    var currentID = $(this).next().attr("id");
    alert(currentID);
}); 

デモ:フィドル

h3または、要素の子である要素を#accordionターゲットにすることができます

$("#accordion > h3").click(function () {
    var currentID = $(this).next().attr("id");
    alert(currentID);
}); 

デモ:フィドル

于 2013-10-07T16:22:51.320 に答える