【问题标题】:How to get index value from parent element?如何从父元素获取索引值?
【发布时间】:2014-11-05 04:48:35
【问题描述】:

我有清单:

<ul class="nav">
    <li>first</li>
    <li>second</li>
    <li>third</li>
    <li>fourth</li>
</ul>

我正在尝试获取我刚刚单击的&lt;li&gt; 的索引。

我尝试的是index(),但它没有按预期工作。 我错过了什么吗?

这是我的代码:

console.log($('.nav li').index());

单击第二个&lt;li&gt; 应返回“2”(或 1,如果索引以 0 开头)

这是我的点击功能:

$('.nav .hasChild > a').click(function(e) { 
    console.log($('.nav li').index());
    ....
});

“hasChild”类对我来说并不重要

【问题讨论】:

  • 如何处理点击事件?
  • 为什么$('.nav li')会返回刚刚点击的LI?它返回所有的 LI。
  • 我更新了代码并添加了我的点击功能。

标签: javascript jquery html css indexing


【解决方案1】:

试试这个:

$('.nav .hasChild > a').click(function() {
   var indexVal = $(this).closest('li').index();
   console.log(indexVal);
});

【讨论】:

  • 成功了。谢谢 :) 会在几分钟内尽快接受这个答案 :)
  • @DasSaffe 我在您的 HTML 中没有看到任何 a。这段代码是怎么工作的?
  • 嗯,a 嵌套在“.hasChild”类中。但在我的情况下,我需要父
  • 数字,只有在点击特定的 a 时才会触发
【解决方案2】:

试试这个-

$('.nav .hasChild > a').click(function(e) { 
    console.log($(this).parent("li").index());//this holds the current element reference which is clicked

}

【讨论】:

    【解决方案3】:

    也许我在额外的类中遗漏了一些东西,但它肯定很简单;

            $('.nav li').click(function() {               
               console.log($(this).index());
            }); 
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签