Advertisement
Guest User

Untitled

a guest
Dec 11th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. var _getAttributes = function(node){
  2. return []
  3. .concat(node.attributes || [])
  4. .reduce((a, c)=>{
  5.  
  6. if(c && c.item && c.length > 0){
  7. for(let i=0;i<c.length;i++)
  8. a[c.item(i).nodeName]=c.item(i).nodeValue;
  9. }
  10.  
  11. return a;
  12. },{})
  13. }
  14.  
  15. var _traverse = function(node, obj, dumpStyles){
  16.  
  17. obj.children = [];
  18. if(node.nodeType == 1){
  19.  
  20. if(node.childNodes && node.childNodes.length > 0){
  21. for(let i=0;i<node.childNodes.length;i++)
  22. obj.children.push(_traverse(node.childNodes[i],{}, dumpStyles))
  23. }
  24.  
  25. obj.name = node.nodeName;
  26. obj.type = node.nodeType;
  27.  
  28. if(dumpStyles){
  29. obj.computedStyle = {};
  30.  
  31. let cs = getComputedStyle(node);
  32. var len = cs.length;
  33. for (var i=0;i<len;i++) {
  34. var style = cs[i];
  35. obj.computedStyle[style]= cs.getPropertyValue(style);
  36. }
  37. }
  38.  
  39. if(node.attributes && node.attributes.length >0)
  40. obj.attributes = _getAttributes(node);
  41.  
  42. }else if(node.nodeType == 3){
  43. delete obj.children;
  44. obj.name = "";
  45. obj.type = node.nodeType;
  46. obj.text = node.nodeValue;
  47. }else{
  48.  
  49. }
  50. return obj;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement