具有特定子元素的查询选择器

时间:2017-02-13 11:41:26

标签: javascript css-selectors selectors-api

所以基本上我想选择具有特定子元素的元素。现在我有选择器来选择链的子元素:

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

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

const x = el.parentNode.parentNode;

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

2 个答案:

答案 0 :(得分:1)

没有父选择器,
但它应该是available in CSS level 4,距离实施还有很长的路要走。

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

答案 1 :(得分:1)

目前,无法选择父级(即具有指定子级的元素)。见Is there a CSS parent selector?

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