如何使用Javascript为表中的属性赋值

时间:2016-03-09 07:24:32

标签: javascript html

我已经能够通过表单中的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)方法来设置单元格的值。

感谢您的时间和帮助:)

3 个答案:

答案 0 :(得分:2)

输入字段包含value,但非输入字段包含innerTextinnerHTMLtextContent。如果不需要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";