我一直在浏览JavaScript上的MDN文档,并且遇到了Element.closest
属性。这仍然只是一个实验性的属性,但了解如何使用它是很重要的。JavaScript - Element.closest未获取样式
这里的规范说什么
的Element.closest()方法返回当前元素(或当前元素本身),其参数给出的选择相匹配的最近的祖先。如果没有这样的祖先,它将返回null。
https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
var par = document.getElementById('my-id');
par.closest("h2").style.background = "yellow";
<div id="first">
<h2>Heading</h2>
<div id="second">
<div id="third">
<p id="my-id">This is a paragraph</p>
</div>
</div>
</div>
我使用最新版本的谷歌浏览器。根据兼容性图表,这应该在谷歌浏览器41 +
我找不到任何理由为什么这不起作用。
任何理论?
这可能有助于理解DOM术语:http://felix-kling.de/images/DOM_relationship.png。 –
...如果你是'par.closest('#third')。style.background =“yellow”;'那会起作用.. –
如果我理解的很好,他的问题是为什么'.closest()'不返回元素本身,因为没有匹配的'h2'父项 –