编辑:另外,我有一个想法,我可以检查“a”的子节点并查看“d”是否是其中之一,但无法实现它。如果有人能让它工作,那就太棒了。
对于每个祖先,调用 querySelector、querySelectorAll、getElementsByClassName 等。
let ancestors = document.querySelectorAll('ancestor a');
for(let i = 0; i < ancestors.length; i++){
let a = ancestors[i];
if(a.querySelector('descendant d')) {
console.log(a);
}
}
或者
let ancestors = document.querySelectorAll('ancestor a');
for(let i = 0; i < ancestors.length; i++){
let a = ancestors[i];
let descendants = a.querySelectorAll('descendant d');
if(descendants.length > 0) {
console.log(a);
}
}