0
<div class="center">
    <div id="ContentTop" class="tt1">Top Content</div>
    <div id="abc" class="hide">exrt</div>
    <div id="bcd" class="hide">Content exta</div>
    <div id="MidContent" class="tcg">Mid Content</div>
    <div id="dcd" class="hide">Extra Content</div>
    <div id="asd" class="hide">Extra Content</div>
    <div id="ContentBtm" class="hide">Bottom Content</div>
</div>

必要な出力は、クラス ContentTop、MidContent、および ContentBtm の div の indexOf です。

たとえば、div MidContent をクリックすると、クラス hide が含まれていないため、必要な出力は位置 2 になります。

クラス名「非表示」を含まないdivの場合、divのカウントが1、2、および3である必要があります

4

2 に答える 2

1

これを試して:

$(document).ready(function(){
    /*get all divs inside center which are not hidden*/
    $(".center").children().not(".hide").each(function(i,e){
      /* If any one of them is clicked, show their index inside center */
      $(this).on("click", function(event){
        alert("I am div number" + (i+1));
      });
    });
});

jsfiddle は次のとおりです: http://jsfiddle.net/XtPtq/は、html を使用したこのコードの実装を示しています。

于 2013-04-17T11:27:29.477 に答える
1

このセレクターを試すと、クラスが非表示になっていないすべてのダイブ要素が表示されます

クリックイベントの場合、これを行うことができます

$('.center').click(function(e)
{
   var id =  e.target.id;
   $(".center").children(":not(div.hide)").each(function(index){
         if($(this).attr("id") ==  id)
            alert(index);
     });
}
);
于 2013-04-17T10:28:14.830 に答える