假设我有这个标记:
<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() ); });