如何删除htmlparse的一部分?

我做了一个网页的htmlparse,我得到了这个块的页面的DOM:

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

我怎样才能删除该htmlparse的所有types的“文本”? 谢谢。

如果你想recursion删除所有的文本节点,你可以这样做:

 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); 

如果你想删除任何带有文本types的孩子,只需循环所有的孩子,并使用array.splice删除一个文本types。

 var output = document.getElementById('output'), htmlParse = { raw: 'td', data: 'td', type: 'tag', name: 'td', children: [ { raw: '600', data: '600', type: 'text' }, { raw: '100', data: '100', type: 'num' } ] }; for(var i = 0; i < htmlParse.children.length; i++) { if (htmlParse.children[i].type === "text") { htmlParse.children.splice(i, 1); } } output.innerHTML = JSON.stringify(htmlParse); console.log(htmlParse); 
 <div id="output"></div>