DOM(文檔對象模型)是一種用于HTML和XML文檔的編程接口,用于在瀏覽器中將文檔表示為對象,并且可以修改文檔的內容和結構。
將DOM元素轉成JSON格式可以方便地將DOM信息序列化和保存到服務器,以便以后重建DOM樹。
function domToJson(element) { var jsonObj = {}; // 獲取元素的標簽名 jsonObj['tagName'] = element.tagName; // 獲取元素的屬性 if (element.attributes && element.attributes.length >0) { var attributes = {}; for (var i = 0; i< element.attributes.length; i++) { var attribute = element.attributes[i]; attributes[attribute.nodeName] = attribute.nodeValue; } jsonObj['attributes'] = attributes; } // 獲取元素的子元素(遞歸處理) if (element.childNodes && element.childNodes.length >0) { var children = []; for (var i = 0; i< element.childNodes.length; i++) { var child = element.childNodes[i]; // 忽略文本節點和注釋節點 if (child.nodeType === Node.TEXT_NODE || child.nodeType === Node.COMMENT_NODE) { continue; } children.push(domToJson(child)); } jsonObj['children'] = children; } return jsonObj; } // 示例 var json = domToJson(document.body); console.log(json);
上面的代碼演示了如何將DOM樹的根元素(document.body)轉成JSON格式,并使用console.log輸出。
下一篇druid解析json