umb*_*987 15 html javascript css
我正在尝试获取元素的最接近的父元素。
看看.closest(),如果选择器与元素匹配,它似乎会返回元素本身:
Closest() 方法遍历 Element 及其父级(指向文档根),直到找到与提供的选择器字符串匹配的节点。将返回自身或匹配的祖先。如果不存在这样的元素,则返回 null。
(重点是我的)
那么,在给定选择器的情况下,获取元素最接近的父元素的最佳方法是什么?
例子
var el = document.getElementById('foo');
var closestParent = el.closest('div');
console.log(closestParent);Run Code Online (Sandbox Code Playgroud)
<div>root
<div>level1
<div id='foo'>level2</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
正如您所看到的,el.closest('div');返回el自身,而不是与选择器div(level1)匹配的最接近的父级,这正是我所需要的。
我知道在这种情况下我可以简单地执行closestParent.parentElement,但这只是一个示例,我试图弄清楚是否可以避免.closest()返回元素本身。
AKT*_*AKT 23
要排除当前元素,请获取closest()相对于其parentNode的相对值:
var el = document.getElementById('foo');
var closestParent = el.parentNode.closest('div');
console.log(closestParent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16342 次 |
| 最近记录: |