[英]How to select all elements, except one and all its children using JavaScript?
[英]How to select all elements except all <p> elements and all their children using JavaScript?
我想使用 javascript dom 選擇器方法,例如getElementsByTagName
到 select 除了所有<p>
元素及其所有子元素之外的所有元素,我將在某些網頁中使用它來滿足某些特定的抓取要求。
document.querySelectorAll('*:not(p, p *)')
:not(..)
-偽選擇器將排除與括號中的選擇器匹配的元素。
const elements = document.querySelectorAll('*'); // Selects all elements
let filteredElements = []; // array only with needed elements
for (let i = 0; i < elements.length; i++) {
if (elements[i].tagName !== 'P' && !elements[i].matches('p *')) {
filteredElements.push(elements[i]); // Checks if processed element is not <p> or a child of it on any depth level
}
}
像這樣的代碼應該可以完成這項工作。 線條幾乎是不言自明的,但我在那里添加了一些評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.