0
假设网站包含多个div元素,其中一些div元素有一个img子元素,而另一些元素没有。是否有可能在一个querySelector
声明中选择拥有img孩子的人?如果是孙子呢?使用JS的querySelector找到一个没有任何后裔子元的div
它是否可以通过:not()
伪选择器?
假设网站包含多个div元素,其中一些div元素有一个img子元素,而另一些元素没有。是否有可能在一个querySelector
声明中选择拥有img孩子的人?如果是孙子呢?使用JS的querySelector找到一个没有任何后裔子元的div
它是否可以通过:not()
伪选择器?
这是不可能只用一个querySelectorAll
语句,但您可以通过有孩子的IMG和使用结果NodeList
获取父的div的div循环:
var imgs = document.querySelectorAll("div > img"),
divs = [];
for (var i = 0; i < imgs.length; i++) {
divs.push(imgs.parentNode);
}
“否”。你需要一个“:contains()”选择器,它支持DOM节点,而不是文本。见http://stackoverflow.com/questions/2000582/css-selector-for-foo-that-contains-bar – Matt
[':empty'](https://developer.mozilla.org/en-US/docs/ Web/CSS /:empty)可能适合您的特定情况。 –