假设我有这个标记:
<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?
li
例如,当您单击“步骤1”时,alert应弹出带有“ 0”的。
alert
$("#wizard li").click(function () { console.log( $(this).index() ); });
但是,与其为每个列表项附加一个单击处理程序,不如(在性能方面)更好地使用delegate如下所示:
delegate
$("#wizard").delegate('li', 'click', function () { console.log( $(this).index() ); });
在jQuery 1.7+中,您应该使用on。下面的示例将事件绑定到#wizard元素,就像委托事件一样工作:
on
#wizard
$("#wizard").on("click", "li", function() { console.log( $(this).index() ); });