javascript - 如何删除一部分htmlparse?

标签 javascript node.js dom html-parsing html-parser

我制作了一个网页的 htmlparse,我得到了一个包含这个 block 的页面的 DOM:

 { raw: 'td',
   data: 'td',
   type: 'tag',
   name: 'td',
   children: [ { raw: '600', data: '600', type: 'text' } ] },

如何删除该 htmlparse 的所有类型“文本”? 谢谢。

最佳答案

如果你想递归地删除所有文本 Node ,你可以这样做:

var _ = require('underscore');
var deleteText = function(node) {
    if (!node.children || node.children.length === 0) {
        return;
    }

    // Exclude text nodes
    node.children = _.filter(node.children, function(child) {
        return child.type !== 'text';
    });

    // Recurse over child nodes
    _.each(node.children, deleteText);
};

deleteTextNodes(parsed);

关于javascript - 如何删除一部分htmlparse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30414380/

相关文章:

javascript - 如何在加载所有 Assets 之前添加加载效果?

javascript - jQuery html() 表现真的很慢

node.js - 为 Linux vps 安装 ffmpeg

javascript - 按下按钮时的跨度展开/折叠过渡

Javascript更新和访问函数外部的变量

node.js - 处理 NodeJS 异步行为

javascript - 将对象和函数转换为有效的 JavaScript 源代码?

css - firefox 和 opera 是否通过 javascript 支持 zIndex 样式属性

javascript - appendchild 中的上标 html 标签

javascript - JavaScript 的 document.open 是否支持 MIME 类型参数?