2012-07-11 41 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/