activeElement相对于父级的子编号

时间:2012-07-30 15:50:11

标签: javascript

在vanilla JS中是否有一个函数(即不是JQuery等)来确定activeElement的子号码?

我目前正在使用此代码,但我更喜欢使用selCell = document.activeElement.childNumber;(例如)而不是循环使用父代:

for(var j = 0; cell = document.activeElement.parentNode.cells[j]; j++)
    if(cell == document.activeElement)
        selCell = j;

如果需要澄清(例如HTML上下文),请离开!

非常感谢!

1 个答案:

答案 0 :(得分:4)

表格单元格保留自己的索引......

selCell = document.activeElement.cellIndex;

对于其他元素类型,一个常见的解决方案是从当前元素开始,并遍历前一个兄弟节点,每次遇到一个元素时递增一个计数器。

var i = 0;

while(elem = elem.previousSibling)
    if (elem.nodeType === 1)
        i++;