sub = document.querySelector("#app3") 判断sub,如果存在后代则移除
时间: 2024-11-10 07:14:11 浏览: 7
js querySelector() 使用方法
5星 · 资源好评率100%
如果你想检查`sub`元素是否存在,并且它有后代元素,然后移除`sub`及其所有后代,你可以使用以下JavaScript代码:
```javascript
let sub = document.querySelector('#app3');
// 检查sub是否存在并且有后代
if (sub && sub.children.length > 0) {
// 使用递归删除子节点
function removeChildNodes(node) {
for (let child of node.childNodes) {
if (child.nodeType === Node.ELEMENT_NODE) {
child.remove(); // 删除元素节点
} else if (child.nodeType === Node.TEXT_NODE) {
node.removeChild(child); // 删除文本节点
}
}
}
// 首先删除子节点,然后再删除自身
removeChildNodes(sub);
sub.remove();
}
```
这段代码首先通过`querySelector`获取`#app3`元素,如果找到并且它确实有子节点,那么会调用`removeChildNodes`函数来逐个移除其所有的子节点。最后再调用`remove`方法删除`sub`本身。
请注意,这将会永久性地从DOM中移除`sub`及其所有后代。如果你只想隐藏或者暂时移除,而不希望完全删除,可以考虑改变`style.display`或者使用`classList.add('hidden')`等方法。
阅读全文