2012-07-11 113 views
0

我有一个非常恼人的问题。我得到了一堆运行的代码,应该将一些来自XML的信息放到几个表格插槽中。document.createElement(“tr”)没有显示在html中

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中。我究竟做错了什么?

+0

你没有在任何地方你的追加TR .... – jeschafe 2012-07-11 19:59:01

+0

你在哪里附加'trElement'到某个表格元素? – VisioN 2012-07-11 19:59:20

+0

您需要创建表格元素,并添加子tr并使表格元素可见。试试这个 - tableElement.style.display =“block”; – 2012-07-11 20:02:40

回答

4

改变了...

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

这个...

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

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