jQuery - 如何在另一个容器DIV中找到ID的索引?

时间:2013-06-28 10:36:35

标签: javascript jquery html dom web

我想使用 .index ,但它似乎不起作用!

<div id="main">
       <div id="one"> 
               <div class="red"> ... </div>
       </div> 
       <div id="two"> 
               <div class="green"> ... </div>
       </div> 
       <div id="three"> 
               <div class="blue"> ... </div>
       </div> 
</div> 

所以我试过了:

var isDivThere = $("main").index("#two") != -1;

但如上所述,没有去......

如何在div #main?

中查找div

6 个答案:

答案 0 :(得分:3)

$("#main > div").index($("#two"))

var isDivThere =  $("#main > div").index($("#two")) != -1;

注意:>仅用于过滤第一级div。因此,如果要检查嵌套div的索引,我的解决方案将无效。

答案 1 :(得分:2)

要检查是否存在,您可以这样做:

var isDivThere = !!$('#two').length;

如果#two中必须存在#main

var isDivThere = !!$('#main').find('#two').length;

如果#two必须是#main的孩子:

var isDivThere = !!$('#main').children('#two').length;

答案 2 :(得分:1)

要知道其容器中元素的索引,只需调用index超过您要查找的元素ID:

var isDivThere = $("#two").index();

http://jsfiddle.net/NGhL7/

答案 3 :(得分:0)

您需要添加#符号以便按ID进行选择。在这里工作小提琴:

$("#yourId");

http://jsfiddle.net/nnFh5/

答案 4 :(得分:0)

您可以使用jquery的find()函数,

  $("#main").find("#two");

答案 5 :(得分:0)

$因为ID在所有正文中都是唯一的,所以这就足以完成你的工作了:

var isDivThere =  !!$$("#two").length;

你永远不会找到另一个ID =&#34; 2&#34;所以你没有必要确定告诉主要的div是什么