[英]document.CreateElement Implementation
我需要JavaScript的幫助。 當我致力於將XML與JavaScript結合使用時,我遇到了很多問題。 所以我想使用document.createElement("ul")
document.createElement("ul")
代替var html = "<li>" + node.nodeName;
在我的程序中。因為我需要給出適當的樣式並需要附加一些事件。 所以我需要一些幫助。 我正在與正在使用的程序一起演奏現場提琴。
function generate(node) {
if (node.nodeType != 1) return "";
var html = "<li>" + node.nodeName;
var htmlForChildNodes = "";
for (var i = 0; i < node.childNodes.length; i++) {
htmlForChildNodes += generate(node.childNodes[i]);
}
if (htmlForChildNodes) {
html += "<ul>" + htmlForChildNodes + "</ul>";
}
html += "</li>";
return html;
}
謝謝
不確定您到底想要什么,但是此示例使用createElement
:
function generate(node) {
if (node.nodeType != 1) return "";
var li = document.createElement('li');
var span = document.createElement('span');
span.innerHTML = node.nodeName;
span.addEventListener("click", function(event) {
event.target.parentNode.classList.toggle("selected");
});
li.appendChild(span);
var ul = document.createElement('ul');
for (var i = 0; i < node.childNodes.length; i++) {
var r = generate(node.childNodes[i]);
if(r!==""){
ul.appendChild(r);
}
}
li.appendChild(ul);
return li;
}
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(txt, "text/xml");
} else { // Internet Explorer
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(txt);
}
var masterUL = document.createElement('ul');
masterUL.appendChild(generate(xmlDoc.documentElement));
document.body.appendChild(masterUL);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.