Javascript 如何在父div中获取div的索引?
有没有办法在父div中获取已单击div的索引 下面是一个例子:Javascript 如何在父div中获取div的索引?,javascript,html,Javascript,Html,有没有办法在父div中获取已单击div的索引 下面是一个例子: var parent=document.getElementsByClassName(“父”); var child=document.getElementsByClassName(“child”); 对于(变量i=0;i
var parent=document.getElementsByClassName(“父”);
var child=document.getElementsByClassName(“child”);
对于(变量i=0;i
我的意思是,有没有办法得到点击div的索引?例如,如果我单击id为“1”的div,它将在控制台中打印“0”,因为它的索引是0。若我单击id为“2”的div,它将在控制台中打印“1”,因为它的索引是1,依此类推
有没有办法做到这一点?(不使用属性)用于查找父项中的子项。子项
var child=document.getElementById('findme');
var parent=child.parentNode;
var index=Array.prototype.indexOf.call(parent.children,child);
控制台日志(索引)代码>
您的代码并没有真正演示您所说的内容,因为您是在父元素
中循环,而不是子元素
元素。我建议使用var parent=document.querySelector('.parent');var children=parent.querySelectorAll('.child')代码>然后循环遍历子对象
有很多方法可以做到这一点(使用var kids=array.from(children)
和使用console.log(kids.indexOf(e.target))创建子对象
数组)
,但问题是,为什么这样做而不是通过属性添加子元素本身?这回答了你的问题吗?这闻起来99%像一个。你的问题背后是什么,你想实现什么?你认为你需要索引?这回答了你的问题吗?ES6引入了Array.prototype.findIndex()
.ES6还引入了[…parent.children].indexOf(child)
。谢谢!效果非常好,你不知道你刚才为我节省了多少时间!