使用JQuery检测父项子数组中索引的更好方法是什么?

时间:2010-04-22 09:52:11

标签: javascript jquery

例如,如何检测它的父元素中的li元素的索引?

2 个答案:

答案 0 :(得分:5)

<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>

如果你有类似的东西,你可以做jQuery:

$(function(){
  $('li').click(function(){ alert('the index is '+$(this).index()) })

})

这将基于其父元素

警告li元素的索引

更多关于index()here

答案 1 :(得分:1)

在非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;
}