检索div的位置,不包括具有类名的特定div

时间:2013-04-17 10:24:38

标签: jquery

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

我需要的输出是indexOf类ContentTop,MidContent和ContentBtm的div。

例如,如果我点击div MidContent,我需要的输出是位置2,因为它不包含类隐藏。

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

2 个答案:

答案 0 :(得分: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);
     });
}
);

答案 1 :(得分: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实现此代码