小编典典

获取元素的索引作为子元素相对于父元素

all

假设我有这个标记:

<ul id="wizard">
    <li>Step 1</li>
    <li>Step 2</li>
</ul>

我有这个 jQuery:

$("#wizard li").click(function () {
    // alert index of li relative to ul parent
});

单击该按钮时,如何获取子项li相对于其父项的索引li

例如,当您单击“步骤 1”时,alert应该会弹出一个带有“0”的字样。


阅读 119

收藏
2022-08-24

共1个答案

小编典典

$("#wizard li").click(function () {
    console.log( $(this).index() );
});

但是,与其为每个列表项附加一个单击处理程序,不如使用delegate如下所示的更好(性能方面):

$("#wizard").delegate('li', 'click', function () {
    console.log( $(this).index() );
});

在 jQuery 1.7+ 中,您应该使用on.
下面的示例将事件绑定到#wizard元素,就像委托事件一样工作:

$("#wizard").on("click", "li", function() {
    console.log( $(this).index() );
});
2022-08-24