0

我正在为 android 开发一个带有 phonegap 的应用程序,并且我正在尝试FOR使用 html 表行在 javascript 中创建一个循环。我尝试使用document.write但页面中的所有内容都消失了,只显示它在document.write. 我的代码是这个:

<table id="hor-minimalist-b">
<script language=javascript>
for (var i=0; i<3; i++) {
    document.write('<tr>');
        document.write('<td>');
        document.write('<input type="text" name="valor" id="valor" value="key' + i'">');
        document.write('</td>');
        document.write('</tr>');
}
</script>
</table>

谢谢。

4

1 回答 1

2

这是因为您只是将文本放在页面中,您需要“创建”元素并将它们附加到表格中。你可以这样做:

<table id="hor-minimalist-b"><thead></thead><tbody></tbody></table>
<script language="javascript">
var table = document.getElementById('hor-minimalist-b'); // get the table element
var tableBody = table.childNodes[1]; // get the table body
var tableHead = table.childNodes[0]; // get the table head
for (var i=0; i<3; i++) {
    var row = document.createElement('tr'); // create a new row
    var cell = document.createElement('td'); // create a new cell
    var input = document.createElement('input'); // create a new input
    // Set input properties
    input.type = "text";
    input.id = "valor"; // It's not a good idea (to have elements with the same id..)
    input.name = "valor";
    input.value = "key" + i;
    cell.appendChild(input); // append input to the new cell
    row.appendChild(cell); // append the new cell to the new row
    tableBody.appendChild(row); // append the row to table body
}
</script>

insertRow() 和 insertCell() 可能也可以工作,但我还没有测试它

于 2012-09-18T13:51:26.707 回答