欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

dom節點轉成json數據

林國瑞2年前11瀏覽0評論

DOM節點是指網頁中的元素、屬性、文本等等。在Web開發中,我們經常需要把DOM節點轉換成JSON數據。下面就為大家介紹如何把DOM節點轉成JSON數據。

function nodeToJson(node) {
let obj = {};
obj.tagName = node.tagName.toLowerCase();
if (node.attributes.length >0) {
obj.attributes = {};
for (let i = 0; i< node.attributes.length; i++) {
let attr = node.attributes[i];
obj.attributes[attr.name] = attr.value;
}
}
if (node.childNodes.length >0) {
obj.children = [];
for (let i = 0; i< node.childNodes.length; i++) {
let child = node.childNodes[i];
if (child.nodeType === 1) {
obj.children.push(nodeToJson(child));
} else if (child.nodeType === 3) {
obj.text = child.nodeValue;
}
}
}
return obj;
}
let json = nodeToJson(document.documentElement);
console.log(JSON.stringify(json));

上述代碼中的nodeToJson函數用于將DOM節點轉成JSON數據。該函數會遍歷節點的tagName(標簽名),attributes(屬性)和childNodes(子節點),并把這些信息存到一個對象中。如果節點有子節點,則遍歷子節點并把子節點也轉成JSON數據存到對象的children中。如果節點只是文本信息,則把文本信息存到text中。

通過調用nodeToJson函數并傳入document.documentElement作為參數,可以把整張HTML文檔轉成JSON數據。我們可以在控制臺中打印出這個JSON數據,以便后續處理。當然,我們也可以針對特定節點調用nodeToJson函數,把該節點轉成JSON數據,方便我們進行操作。