2017-02-13 76 views
1

Soo基本上我想选择具有特定子元素的元素。现在我有选择,其选择链的子元素:具有特定子元素的查询选择器

const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active') 

现在让我感兴趣的元素,我必须这样做:

const x = el.parentNode.parentNode; 

有没有什么办法让这个元素staight从选择器本身?

+0

如果您使用jQuery语法,可以将它放在一行中。 – Banzay

+0

真的,生活会更容易:)但不幸的是,我不能使用jQuery。 – J33nn

回答

0

有没有父母选择器,
但是它应该是available in CSS level 4,这是一个很远的实施。

所以,你能做的最好的事情是在加入一行:
const el = document.querySelector('#leftMenu ul > li > a:not(.active) + ul > li.active').parentNode.parentNode;

+0

哇,没有想到它......就像认真的人,它甚至没有部分回答我的问题。 确定编辑之后,至少它包含一些有意义的信息。 – J33nn

1

目前,还没有办法选择父(即具有指定儿童的元素)。请参阅Is there a CSS parent selector?

将来可能有一个,但目前,您的方法看起来像是最佳解决方案。