例如,如何检测它的父元素中的li元素的索引?
答案 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;
}