在div中获取div的顺序

时间:2012-12-28 10:40:20

标签: jquery html

我有一个DIV列表是一个与下面类似的容器DIV

  <div id="ChainLinkList">
  <div class="chainSelect" id="L2176">jj</div>
  <div class="chainSelect" id="L2171">suby 3</div>
  <div class="chainSelect" id="L2170">suby 2</div>
  <div class="chainSelect" id="L2167">submenu</div>
  </div>

我希望在点击时获得特定DIV的顺序。我试过以下

   $(".chainSelect").live("click", function() {
   var index = $(this).parent().index(".chainSelect");
   alert(index);
   .....

   $(".chainSelect").live("click", function() {
   var index = $('#ChainLinkList').parent().index(".chainSelect");
   alert(index);
   .....

但我似乎得到-1

5 个答案:

答案 0 :(得分:6)

您只需致电$(this).index();即可获取其所在内容中所点击商品的索引:

$(".chainSelect").live("click", function() {
   var index = $(this).index();
   alert(index);
});​

http://jsfiddle.net/5ShLs/

答案 1 :(得分:1)

你可以尝试这个:

不推荐使用

.live,因此最好使用.on()处理程序

 $(document).on("click", ".chainSelect", function(){
   var index = $(this).index();
   alert(index);
 });

答案 2 :(得分:1)

你应该改变

$(".chainSelect").live("click", function() {
   var index = $(this).parent().index(".chainSelect");
   alert(index);
});

有:

$(".chainSelect").live("click", function() {
   var index = $(".chainSelect").index(this);
   alert(index);
});​

fiddle

答案 3 :(得分:0)

首先..

    $('#ChainLinkList').parent() 

在这个你正在调用div chainlinklist的父亲,在这里它自己是你需要的elemnt div的父...所以这对你不起作用。
试试这个..

    $(this).index(); 

答案 4 :(得分:0)

无需转到父级..只需获取所点击元素的索引..

从jQuery 1.7开始,不推荐使用.live()方法。

$(".chainSelect").on("click", function() {
  var index = $(this).index();
  alert(index);
});​