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,我需要的输出是位置 2,因为它不包含类 hide。

对于不包含类名“隐藏”的 div,我需要 div 的计数为 1,2 和 3

4

2 回答 2

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 回答
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 回答