簡體   English   中英

document.CreateElement實現

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM