在DOM范围内获取所有文本节点,可以使用JavaScript的递归函数来实现。以下是一个示例代码:
function getTextNodes(root, nodes = []) {
if (root.nodeType === Node.TEXT_NODE) {
nodes.push(root);
} else {
for (const child of root.childNodes) {
getTextNodes(child, nodes);
}
}
return nodes;
}
const rootElement = document.getElementById('your-element-id');
const textNodes = getTextNodes(rootElement);
console.log(textNodes);
在这个示例中,我们定义了一个名为getTextNodes
的函数,它接受两个参数:root
和nodes
。root
参数是我们要在其范围内获取所有文本节点的DOM元素,而nodes
参数是一个数组,用于存储找到的文本节点。
函数首先检查root
的nodeType
是否为Node.TEXT_NODE
,如果是,则将其添加到nodes
数组中。如果不是,则遍历root
的所有子节点,并递归调用getTextNodes
函数。
最后,我们通过调用getTextNodes
函数并传入我们要查询的DOM元素来获取其范围内的所有文本节点。
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云