gpt4 book ai didi

javascript - 是否可以在不循环的情况下在其父节点中获取元素的数字索引?

转载 作者:IT王子 更新时间:2023-10-29 03:19:52 26 4
gpt4 key购买 nike

通常我是这样做的:

for(i=0;i<elem.parentNode.length;i++) {
if (elem.parentNode[i] == elem) //.... etc.. etc...
}

最佳答案

function getChildIndex(node) {
return Array.prototype.indexOf.call(node.parentNode.childNodes, node);
}

这似乎适用于 Opera 11、Firefox 4、Chromium 10。其他浏览器未经测试。如果节点没有父节点,它将抛出 TypeError(如果您关心这种情况,请添加对 node.parentNode !== undefined 的检查)。

当然,Array.prototype.indexOf 仍然循环,只是在函数调用中。不循环就不可能做到这一点。


注意:如果想获取子Element的索引,可以修改上面的函数,将childNodes改为 children

function getChildElementIndex(node) {
return Array.prototype.indexOf.call(node.parentNode.children, node);
}

关于javascript - 是否可以在不循环的情况下在其父节点中获取元素的数字索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com