我已经能够通过表单中的ID为特定元素分配值。例如......
form1.textbox1.value = "Hello";
现在这样可行,当HTML看起来像这样......
<form id="form1">
<input type="text" id="textbox1" />
</form>
当您使用名称而不是ID时,它也有效。现在我的问题是,我想用表格复制这个。为什么这不起作用?...
<table id="table1">
<tr>
<td id="cell1"></td>
<td></td>
</tr>
</form>
table1.cell1.value = "Hello";
我不明白为什么它不起作用。这里的问题是,我需要能够创建一个函数,输入我自己的参数,允许我在这行代码中更改名字或ID(正在使用的任何方法)&gt;(table1.cell1.value
)因为这个表的克隆具有相同的ID或名称(例如,table1,table2,table3)所以参数可以改变,允许我每次在点击a创建表的新克隆时通过提示输入数据按钮。克隆工作完美,新表正常显示,甚至更改了表的ID。我所需要的只是帮助理解如何使用(table1.cell1.value
)方法来设置单元格的值。
感谢您的时间和帮助:)
答案 0 :(得分:2)
输入字段包含value
,但非输入字段包含innerText或innerHTML或textContent。如果不需要IE8支持,您可以使用textContent
(或使用polyfill添加支持)。然后你可以这样做:
table1.cell1.textContent = "Hello";
或更有可能:
document.getElementById('cell1').textContent = 'Hello';
如果您需要HTML,则需要以相同的方式使用innerHTML
。
答案 1 :(得分:1)
<!DOCTYPE html>
<html>
<body>
<table id="table1">
<tr>
<td id="cell1">cell1</td>
<td>cell2</td>
</tr>
<script>
var table = document.getElementById('table1');
var rows = table.getElementsByTagName('tr');
var objectHTMLCollection = document.getElementsByTagName("td"),
string = [].map.call( objectHTMLCollection, function(node){
return node.textContent || node.innerText || "";
}).join("");
document.write(string);
</script>
</body>
</html>
答案 2 :(得分:0)
你可以简单地写
var td = document.getElementById("tdId");
td.innerHTML = "James Bond is cool";