Javascript 使用JQuery在父数组的子数组中检测索引的更好方法?

Javascript 使用JQuery在父数组的子数组中检测索引的更好方法?,javascript,jquery,Javascript,Jquery,例如,如何检测li元素在其父ul中的索引 <ul> <li>this</li> <li>is</li> <li>ul</li> </ul> <ul> <li>this</li> <li>is</li> <li>another</li> <li>ul&

例如,如何检测li元素在其父ul中的索引

<ul>
    <li>this</li>
    <li>is</li>
    <li>ul</li>
</ul>

<ul>
    <li>this</li>
    <li>is</li>
    <li>another</li>
    <li>ul</li>
</ul>
这将根据li元素的父元素ul向其索引发出警报

更多关于索引

这将根据li元素的父元素ul向其索引发出警报


有关索引的详细信息。

在非IE浏览器中,元素之间的空白被视为文本节点,而IE中则不是这种情况,它会影响后续元素的索引。为了在所有浏览器中提供相同的结果,下面的函数默认情况下过滤掉空白节点,并具有一个可选参数来包含它们(如果您需要):

function indexOfNode(node, includeWhitespace) {
    var index = 0, n = node;
    while ( (n = n.previousSibling) ) {
        if (includeWhitespace || n.nodeType != 3 || !/^\s*$/.test(n.data)) {
            ++index;
        }
    }
    return index;
}

在非IE浏览器中,元素之间的空白被视为文本节点,而IE中的情况则不同,它会影响后续元素的索引。为了在所有浏览器中提供相同的结果,下面的函数默认情况下过滤掉空白节点,并具有一个可选参数来包含它们(如果您需要):

function indexOfNode(node, includeWhitespace) {
    var index = 0, n = node;
    while ( (n = n.previousSibling) ) {
        if (includeWhitespace || n.nodeType != 3 || !/^\s*$/.test(n.data)) {
            ++index;
        }
    }
    return index;
}

不知道,任何方式都是好的。您正在寻找的使用场景是什么?您是否有想要索引的子元素的任何特定属性?不知道,任何方法都可以。您正在寻找的使用场景是什么?您是否具有所需索引的子元素的任何特定属性?