如何获得没有任何子节的document.body或id与子字符串匹配的嵌套子节



我想获取整个document.body,除了子级和嵌套子级,它们的id以字符串开头。

我试着使用document.querySelector('body *:not([id*="mystr"])'),但它只过滤掉顶级的孩子。我想筛选出具有匹配id字符串的任何级别的子级。

编辑:请参阅https://jsfiddle.net/pm7dbac9/

我想你想这样做

var excludedElements = ["SCRIPT", "META", "TITLE", "STYLE"],
elements = Array.prototype.filter.call(document.querySelectorAll("body *"),(function(element) {
return excludedElements.indexOf(element.nodeName) === -1 && element.id !== "nomatch";
}));
// testing
elements.forEach(function(element) {
console.log(element.id);
});
<div id="container">
<div id="nomatch">
pls dont match me
</div>
<div id="xyz">
lorem ipsum
</div>
<div id="nomatch">
pls dont match me
</div>
<div id="abc">
lorem ipsum
</div>
</div>

但问题是你不能分配多个唯一的id,你应该用类来做,我刚刚给你看了一个的例子

最新更新