Soo基本上我想选择具有特定子元素的元素。现在我有选择,其选择链的子元素:具有特定子元素的查询选择器
const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active')
现在让我感兴趣的元素,我必须这样做:
const x = el.parentNode.parentNode;
有没有什么办法让这个元素staight从选择器本身?
Soo基本上我想选择具有特定子元素的元素。现在我有选择,其选择链的子元素:具有特定子元素的查询选择器
const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active')
现在让我感兴趣的元素,我必须这样做:
const x = el.parentNode.parentNode;
有没有什么办法让这个元素staight从选择器本身?
有没有父母选择器,
但是它应该是available in CSS level 4,这是一个很远的实施。
所以,你能做的最好的事情是在加入一行:
const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active').parentNode.parentNode;
哇,没有想到它......就像认真的人,它甚至没有部分回答我的问题。 确定编辑之后,至少它包含一些有意义的信息。 – J33nn
目前,还没有办法选择父(即具有指定儿童的元素)。请参阅Is there a CSS parent selector?
将来可能有一个,但目前,您的方法看起来像是最佳解决方案。
如果您使用jQuery语法,可以将它放在一行中。 – Banzay
真的,生活会更容易:)但不幸的是,我不能使用jQuery。 – J33nn