如何获取元素在无序列表中的位置

时间:2018-12-06 12:31:43

标签: javascript jquery asp.net

我有一个无序列表,每个列表都包含一个锚标记和一个按钮。

单击按钮后,我想获取使用javascript单击的元素的位置。

我尝试过的代码是:

function getEventTarget(e) {
         debugger
    e = e || window.event;
    return e.target || e.srcElement; 
}

var ul = document.getElementById('subMenu5');
    ul.onclick = function (event) {
    debugger
    var target = getEventTarget(event);
    alert(target.index);
};

但这不会抛出所选元素的索引或位置

1 个答案:

答案 0 :(得分:1)

您可以找到通过查找具有标签li的{​​{1}}父级而触发的.closest(),然后找出其li

.index()
$('button,a').click(function(){
  var li = $(this).closest('li');
  console.log("You clicked on item ",(li.index()+1));
});
a
{
  padding: 10px;
}