JavaScript的Dom對象提供了我們操作HTML文檔的接口,而HTML文檔中的DOM屬性可以通過遞歸方式轉換為JSON對象。下面是一個示例:
function domPropertyToJson(element) { var data = {}; var attributes = element.attributes; if (attributes) { for (var i = 0; i< attributes.length; i++) { var attribute = attributes.item(i); data[attribute.nodeName] = attribute.nodeValue; } } var childNodes = element.childNodes; if (childNodes) { if (childNodes.length == 1 && childNodes.item(0).nodeType == 3) { data = childNodes.item(0).nodeValue; } else { for (var i = 0; i< childNodes.length; i++) { var childNode = childNodes.item(i); if (childNode.nodeType == 1) { var nodeName = childNode.nodeName; data[nodeName] = domPropertyToJson(childNode); } } } } return data; }
此函數接受一個DOM元素并將其轉換為JSON對象。此函數首先收集該元素的所有屬性并將其保存在JSON對象中。接下來,該函數收集該元素的所有子節點。如果子節點包含一個文本節點,則文本節點的值將返回為JSON對象的值。否則,該函數將繼續遍歷該節點的子節點并遞歸調用自身以獲取子節點的屬性。
下一篇vue主頁如何測試