我有一個包含HTML元素的數組的數組,如<a>
我想轉換爲表,但我的問題是,HTML顯示爲原始文本。如何將包含HTML元素的數組轉換爲Javascript中的表格?
首先,我認爲這是隱藏雙引號中的問題,所以我用.replace()
cell.appendChild(document.createTextNode(x[i][j].replace(/"/g, "")));
取代他們,但它看起來像HTML是在Chrome DevTools DOM元素corretly格式化:
<td><a href='http://website.org/prod4'>Product4</a></td>
你能告訴我該怎麼做才能在我的表格中顯示HTML元素?
var orderArray = [
["1", "29-Aug-2012", "Product1", "client1"],
["2", "29-Aug-2012", "Product2", "client2"],
["3", "29-Aug-2012", "Product3", "client3"],
["4", "29-Aug-2012", "<a href='http://website.org/prod/'>Product4</a>", "client4"],
["5", "29-Aug-2012", "Product5", "client5"]
];
function display() {
// get handle on div
var table = document.createElement("table");
for (var i = 0; i < orderArray.length; i++) {
var row = table.insertRow();
for (var j = 0; j < orderArray[i].length; j++) {
var cell = row.insertCell();
cell.appendChild(document.createTextNode(orderArray[i][j]));
}
}
return table;
}
var container = document.getElementById('container');
container.appendChild(display());
我用這個問題由BERGI提出代碼:
的'.createTextNode()'方法不正是它的名字所暗示的:它使一個**文本節點**。這就是瀏覽器忽略HTML標記的原因。 – Pointy
...或設置'cell.innerHTML'。 – Pointy
標題也有點不正確,因爲我只看到一個String [] []數組。任何數組中都沒有HTML人 –