首页 > 解决方案 > 删除 HTML 页面中不在元素标签内的文本

问题描述

这可能是一个非常新手的问题,但不确定如何实现这一点。有一个html页面显示如下

<html>
   <body>
      <div><p>Hello!</p></div>
      <"
   </body>
</html>

我的问题是,有没有办法<"通过 javascript 或 css 删除或着色 html 元素之外的元素?

标签: javascripthtmlcss

解决方案


将 Pablo Salazar 的答案转换为使用 vanilla JavaScript,无需庞大的库。还可以使用“color it”选项。

[...document.body.childNodes].filter(n=>n.nodeType === Node.TEXT_NODE)
    .forEach(n=>{
        const wrapper = document.createElement('span');
        wrapper.style.color = 'red';
        n.replaceWith(wrapper);
        wrapper.append(n);
    });
 <div><p>Hello!</p></div>
<"


推荐阅读