Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _getAttributes = function(node){
- return []
- .concat(node.attributes || [])
- .reduce((a, c)=>{
- if(c && c.item && c.length > 0){
- for(let i=0;i<c.length;i++)
- a[c.item(i).nodeName]=c.item(i).nodeValue;
- }
- return a;
- },{})
- }
- var _traverse = function(node, obj, dumpStyles){
- obj.children = [];
- if(node.nodeType == 1){
- if(node.childNodes && node.childNodes.length > 0){
- for(let i=0;i<node.childNodes.length;i++)
- obj.children.push(_traverse(node.childNodes[i],{}, dumpStyles))
- }
- obj.name = node.nodeName;
- obj.type = node.nodeType;
- if(dumpStyles){
- obj.computedStyle = {};
- let cs = getComputedStyle(node);
- var len = cs.length;
- for (var i=0;i<len;i++) {
- var style = cs[i];
- obj.computedStyle[style]= cs.getPropertyValue(style);
- }
- }
- if(node.attributes && node.attributes.length >0)
- obj.attributes = _getAttributes(node);
- }else if(node.nodeType == 3){
- delete obj.children;
- obj.name = "";
- obj.type = node.nodeType;
- obj.text = node.nodeValue;
- }else{
- }
- return obj;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement