Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在父div中获取div的索引?_Javascript_Html - Fatal编程技术网

Javascript 如何在父div中获取div的索引?

Javascript 如何在父div中获取div的索引?,javascript,html,Javascript,Html,有没有办法在父div中获取已单击div的索引 下面是一个例子: var parent=document.getElementsByClassName(“父”); var child=document.getElementsByClassName(“child”); 对于(变量i=0;i

有没有办法在父div中获取已单击div的索引

下面是一个例子:


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)
。谢谢!效果非常好,你不知道你刚才为我节省了多少时间!