gpt4 book ai didi

javascript - 获取节点的索引

转载 作者:行者123 更新时间:2023-12-02 16:15:00 24 4
gpt4 key购买 nike

给定 DOM 中的任意节点,是否可以获取该节点的索引,以便我可以在第 n 个子节点中使用它?我尝试了以下方法但没有成功

function getNodeIndex(node){
if(undefined == node){return undefined;}
if(undefined == node.parentNode){return undefined;}
if(undefined == node.parentNode.childNodes){return undefined;}
for (var i=0;i<node.parentNode.childNodes.length;i++){
if(node.parentNode.childNodes[i]==node){return i;}
}
return undefined;
}

最佳答案

你的函数似乎返回了一些奇怪的结果,主要是因为它还计算文本节点、注释和其他所有内容,而不仅仅是元素。

我会这样做,通过兄弟元素进行计数并使其从零开始

function getNodeIndex(elem) {
if (elem && elem.parentNode) {
var i = 0;
while( elem.previousElementSibling ) {
i++;
elem = elem.previousElementSibling;
}
return i;
}
return -1;
}

关于javascript - 获取节点的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29762935/

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