如何找到DOM层次结构中哪个元素的位置更高
How to find which element stands higher in the DOM hierarchy?
我的意思是,如何找到两个元素中哪一个属于最靠近"document"或"window"的节点?哪个层次更高?
编辑这就完成了任务:
function gerarchia(elem) {
var i=0;
while (elem.parentNode) {
elem = elem.parentNode;
i++;
}
return i;
}
尝试.parents().length
,如下所示:
if ( $(element1).parents().length > $(element2).parents().length ) {
// lower
}
else {
// higher
}
可能有更好的方法,但使用计数器重复调用parentNode
直到找到根的暴力方法应该有效。假设您的文档没有嵌套得太深,那么它应该相对快速。
如果你有jQuery,你可以这样做来找到,例如,第一个<li>
元素:
$('li:first')
相关文章:
- 使用javascript查找元素位置的最快方法
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 另一个元素JAVAscript中的元素位置
- CSS.滚动后元素位置发生变化
- JQuery Mobile单击事件不起作用,具体取决于HTML中的元素位置
- 正在查找表行中的td元素位置
- jquery追加元素位置始终为0
- 如何通过JS移动元素位置而不闪烁
- 当按钮点击更改元素位置时,Javascript
- 在事件发生时获取元素位置的当前页面 URL,并将该 URL 输出到另一个页面上
- 更改 JS/D3 页上的元素位置
- 字典中由元素:位置对组成的移动元素
- 观察元素位置并对 AngularJS 中的更改做出反应
- JavaScript 设置宽度尺寸会更改元素位置
- Angularjs 获取元素位置
- 按类名获取元素位置
- 从数组中获取元素位置
- 如何在更改选择元素宽度时固定所有元素位置
- 破解以在滚动条出现时保持水平元素位置
- 将第一个数组中的元素位置与另一个数组进行比较