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)可能適合您的特定情況。 –