function dom2json() {
const container = document.querySelector("#jsContainer");
function createObj (dom) {
let obj = {
"tag": dom.tagName.toLowerCase(),
"attributes": {},
"children": []
}
for (let i = 0; i < dom.attributes.length; i++) {
const { name, value } = dom.attributes[i];
obj.attributes[name] = value;
}
for (let i = 0; i < dom.childNodes.length; i++) {
if (!dom.childNodes[i].tagName) {
if (!dom.childNodes[i].data.trim()) continue;
obj.children.push({
"tag": "text",
"content": dom.childNodes[i].data.trim()
})
} else {
obj.children.push(createObj(dom.childNodes[i]))
}
}
return obj;
}
return createObj(container);
}