题解 | #dom节点转成json数据#

dom节点转成json数据

http://www.nowcoder.com/practice/0340a0c6d11d4aadba0aef86e6ae723f

function dom2json() {
var father = document.getElementById('jsContainer');
function js(dom){
var obj = {
tag:dom.nodeName.toLowerCase().replace('#',''),
}
if(dom.nodeType == 1){
var attrs = dom.attributes;
obj.attributes = {};
for(var i = 0;i < attrs.length;i++){
obj.attributes[attrs[i].name] = attrs[i].value;
}
var child = dom.childNodes;
obj.children = [];
Array.from(child).forEach(item => {
if(!js(item)) return;
obj.children.push(js(item));
});
}
if(dom.nodeType == 3){
if(dom.nodeValue.trim() == '') return;
obj.content = dom.nodeValue.trim();
}
return obj;
}
return js(father);
}
很多小伙伴可能浏览器运行可以,但测试不行,打算是可能是因为在有些浏览器运行时,比如说360,他都会额外加多个属性给我们的标签,所以大多是会错误,注意这一点基本上就好了。

全部评论

相关推荐

头像
01-29 18:11
海南大学 Java
奔跑的suechil...:单从项目看这个简历不怕被问穿吗 带微服务的项目需要相当多的项目理解和经验诶
点赞 评论 收藏
分享
01-14 16:23
广州商学院 Java
双非后端失败第N人:如果准备好了可以直接投字节,字节是最不看学历的,只要想面,大概率都能给你约面。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务