js 获取指定id下 未知层级下的指定内容的dom
时间: 2023-12-26 13:06:43 浏览: 25
可以使用以下代码来实现:
```javascript
// 获取指定id下的所有元素
const elements = document.querySelectorAll('#your-id *');
// 递归过滤出包含指定内容的元素
function filterElements(nodeList, text) {
return Array.from(nodeList).reduce((arr, node) => {
if (node.childNodes.length) {
arr.push(...filterElements(node.childNodes, text));
}
if (node.textContent.includes(text)) {
arr.push(node);
}
return arr;
}, []);
}
// 过滤出包含指定内容的元素
const filteredElements = filterElements(elements, '指定内容');
// 输出过滤后的元素
console.log(filteredElements);
```
其中,`querySelectorAll` 方法可以获取指定id下的所有元素,`filterElements` 方法使用递归方式过滤出包含指定内容的元素。在方法中,如果当前节点包含子节点,则继续递归处理子节点;如果当前节点包含指定内容,则将其加入到结果数组中。
请将 `your-id` 和 `指定内容` 替换为实际的id和内容。希望能对你有所帮助!