编辑: 该建议指向一个jquery答案,我不想使用。我可能做得不好解释这个。当你点击一个类时,我想知道它是哪一个共享同一个名字的类。例如,如果页面上有8个按钮,其名称为' mybutton',当我点击其中一个时,我想知道它是哪个索引:mybutton [3]。
原帖: 有没有一种简单的方法来获取您单击的类的索引?我似乎无法在MouseEvent obj中找到任何内容。我搜索了stackoverflow / internet,但我能找到的东西似乎过于复杂,没有答案,或者使用jQuery。例如:
document.body.addEventListener('click',function(event){
console.log(event.target.className);
console.log(event.target.className.index??)`
});
我觉得它应该很简单,不是吗?
答案 0 :(得分:2)
没有“简单”的方法可以做到这一点;也就是说,DOM API并没有直接回答那种问题。但是,您可以只搜索符合您想要的任何特征的元素列表,并查看您的元素匹配哪个元素:
function indexIn(selector, element) {
var list = document.querySelectorAll(selector);
for (var i = 0; i < selector.length; ++i)
if (list[i] === element) return i;
return -1;
}
然后你的处理程序可以浏览点击元素上的.classList
:
document.body.addEventListener('click',function(event){
for (var i = 0; i < this.classList; ++i)
console.log("index for class " + this.classList[i] + ": " +
indexIn("." + this.classList[i], this));
});