document.createElement(“tr”)没有出现在html中

时间:2012-07-11 19:57:10

标签: javascript jquery html xml

我有一个非常讨厌的问题。我得到了一堆运行的代码,应该将XML中的一些信息放入几个表槽中。

var xmlDoc;
$(document).ready(function() {
    //Load XML
    importXML();
    ///////////////////////////////////////////////////////////////////////////////////////
});

function importXML() {
    $.ajax({
        type: "GET",
        url: "adList.xml",
        dataType: "xml",
        success: assignXML
    });
}

function assignXML(myXML) {
    xmlDoc = myXML;
    pushContent();
}

function pushContent() {
    var len = xmlDoc.getElementsByTagName('advertisement').length;
    for (i = 0; i < len; i++) {
        var trElement = document.createElement('tr');
        console.log($(xmlDoc).find('advertisement').eq(i).find('image').text());
        var image = $(xmlDoc).find('advertisement').eq(i).find('image').text();
        var imageTD = document.createElement('td');
        var imageIn = document.createElement('input');
        imageIn.setAttribute('type', 'text');
        imageIn.setAttribute('name', 'imageArr[]');
        imageIn.setAttribute('size', '15');
        imageIn.setAttribute('value', image);
        imageTD.appendChild(imageIn);
        trElement.appendChild(imageTD);
        console.log(trElement);
    }

所有信息都在那里。我可以使用firebug在javascript代码中查找tr,它可以正常工作。它没有抛出任何错误。它只是没有出现在页面或html中。我做错了什么?

1 个答案:

答案 0 :(得分:4)

改变这个......

var trElement = document.createElement('tr');

到此......

var table = document.getElementById('my_table'),
    trElement = table.insertRow(table.rows.length);

DEMO: http://jsfiddle.net/7gDhq/1/