如何使用JavaScript动态更改HTML表内容

如何使用JavaScript动态更改HTML表内容,javascript,html,Javascript,Html,var insert=document.getElementById('insertitem'); insert.addEventListener('click',function(){ var table=document.getElementById('insertfirsttable'), itemType=提示(“输入项目名称”), filling1=提示(“输入填充”), filling2=提示(“输入填充”), filling3=提示(“输入填充”), 库存=提示(“输入库存金额”)

var insert=document.getElementById('insertitem');
insert.addEventListener('click',function(){
var table=document.getElementById('insertfirsttable'),
itemType=提示(“输入项目名称”),
filling1=提示(“输入填充”),
filling2=提示(“输入填充”),
filling3=提示(“输入填充”),
库存=提示(“输入库存金额”),
最低库存=提示(“输入最低库存量”);
对于(var r=0;r<1;r+=1){
var x=document.getElementById('insertfirsttable').insertRow(r);
对于(var c=0;c<10;c+=1){
变量y=x.insertCell(c);
}
table.rows[r]。单元格[0]。innerHTML=itemType;
table.rows[r].单元格[1].innerHTML=filling1;
table.rows[r].单元格[2].innerHTML=filling2;
table.rows[r].单元格[3].innerHTML=filling3;
table.rows[r].单元格[4].innerHTML=stock;
table.rows[r].单元格[5].innerHTML=最小库存量;
table.rows[r].cells[9].innerHTML='Sell';
table.rows[r].单元格[9].style.width=“100px”;
var sellBtn=document.getElementById(“sellBtn”);
}
//我想问题就在这里
sellBtn.addEventListener(“单击”,函数(){
var sell=提示(“输入您正在出售的股票金额”),
总计=股票卖出;
对于(var t=0;t
正文{
保证金:0;
填充:0;
背景色:#e6;
字体大小:20px;
}
桌子{
边界间距:1px;
宽度:100%;
}
th{
填充:1px;
}
#第一表{
宽度:100%;
}
#第一桌{
颜色:白色;
背景颜色:绿色;
}
#插入项{
宽度:100%;
填充:2px;
字体大小:20px;
光标:指针;
}
#insertfirsttable>tr{
背景色:#31B404;
}

项目
填满
存储
最低库存
最后库存
卖
上月存货
新项目

不要使用
'stock'
从卖出价值中减去,而是根据ID从行中获取'stock'元素,转换为数字,然后减去

还有一种叫做JQuery的东西,用于类似这样的东西。你可以试试看。具体地说,这将在这里起作用。动态添加按钮时,事件处理程序通常不会挂接到新按钮上。这将导致代码停止工作。因此,请改用JQuery on()方法


而且ID应该是唯一的。因此,使用索引为按钮创建唯一的ID值。

这里有一些地方可以改进。首先,不需要for循环只执行一次:

for (var r = 0; r < 1; r += 1) {
还要注意,您不需要将索引传递给
insertRow()
,因为一行会自动添加到表的末尾。如果希望在开头使用它,请使用insertRow(0)。 请看这里:

正如James在评论中指出的,你不能给所有的按钮提供相同的id。在这种情况下,你如何获得对按钮的引用来添加侦听器?最好使用
document.createElement()
创建元素,然后返回一个引用

var button = document.createElement("button");
row.cells[9].appendChild(button);

button.addEventListener("click", function(){
   var sell = prompt("Enter the stock amount you're selling"),
   total = stock - sell;

   // we still have a reference to row here because we are in a closure.
   row.cells[4].innerHTML = total;
});
JavaScript区域:

document.getElementById('test1').innerHTML = 'Night';
HTML区域:

<td id="test1">Day</td>
JavaScript代码将白天更改为夜晚

另外,Night值也可以替换为HTML代码

例如
Night


每行有一个销售按钮吗?如果是这样,您将需要重新调整布局,因为您的所有销售按钮都具有相同的id-
sellbtn
。ID必须是唯一的。那么如何使用jQuery呢?
<td id="test1">Day</td>