<script>
function filterNumbers(node) {
if (node.nodeType === Node.TEXT_NODE) {
node.nodeValue = node.nodeValue.replace(/\d+/g, '');
} else {
node.childNodes.forEach(filterNumbers);
}
}
const divElement = document.querySelector('.neirong');
filterNumbers(divElement);
</script>
解释
-
filterNumbers
函数:- 检查节点类型是否为文本节点 (
Node.TEXT_NODE
)。 - 如果是文本节点,使用正则表达式
\d+
匹配并替换掉所有的数字。 - 如果不是文本节点,递归调用
filterNumbers
处理其子节点。
- 检查节点类型是否为文本节点 (
-
选择并处理
div
元素:- 使用
document.querySelector('.zdy')
选择类名为zdy
的div
元素。 - 调用
filterNumbers
函数,从div
元素开始递归处理所有子节点。
- 使用
这样,你就可以在保留HTML结构和样式的同时,过滤掉文本中的数字。