如何动态添加javascript变量值作为html元素的属性?
我的代码如下。我需要为输入字段动态指定不同的名称。我知道如何为单个变量或字段指定名称,但对于动态创建的元素,这很难,我不知道如何执行如何动态添加javascript变量值作为html元素的属性?,javascript,html,Javascript,Html,我的代码如下。我需要为输入字段动态指定不同的名称。我知道如何为单个变量或字段指定名称,但对于动态创建的元素,这很难,我不知道如何执行 for(var j=1;j<=i;j++) { var table = document.getElementById("ing"); var row = table.insertRow(-1); //var cell8=row.incertCell(0); var cell1 = row.insertCell(0);
for(var j=1;j<=i;j++)
{
var table = document.getElementById("ing");
var row = table.insertRow(-1);
//var cell8=row.incertCell(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);
var name='ingname'+j;
var code='ingcode'+j;
var cur='ingcur'+j;
var req='ingreq'+j;
var cost='ingcost'+j;
var date='ingdate'+j;
cell1.innerHTML = "<input type='text' name=name>";
cell2.innerHTML = "<input type='text' name=code>";
cell3.innerHTML = "<input type='number' name='ingcur+i'>";
cell4.innerHTML = "<input type='number' name='ingreq+i'>";
cell5.innerHTML="<input type='number' name='ingcost+i'>";
cell6.innerHTML="<input type='date' name='ingdate+i'>";
}
for(var j=1;jHTML
使用JS
var input=document.getElementById('someId'))
input.setAttribute('name',i)
对于javascript,您需要更新输入元素的“name”值。您可以这样做:
function updateName(id) {
var newName = 'code'+2;
document.getElementById(id).setAttribute("name",newName.toString());
}
您的输入元素将需要一个ID:
<input type="text" name="tempName" id="inputID" />
要动态执行此操作,有两种快速方法:
获取父元素并选择所有子元素,然后通过它们递归:
这对你的入门很有帮助。你是如何创建HTML元素的?它们在你的页面中是硬编码的吗?是的。我正在尝试为einput字段指定不同的名称。所有输入字段都是使用create元素和for循环动态创建的。我需要更改名称,以便使用php检索它们。我需要添加dif动态地为不同的输入输入指定不同的名称有什么建议吗?但是如果你已经设置了ID,为什么不改为设置名称呢?)我可以为特定的输入字段设置名称,但是我根据用户请求生成了多个字段,所以没有使用它们
function updateName(id) {
var newName = 'code'+2;
document.getElementById(id).setAttribute("name",newName.toString());
}
<input type="text" name="tempName" id="inputID" />
document.onload(updateName("inputID"));
var childElements = document.getElementById('parentID').children;
for (var i = 0; i < childElements.length; i++) {
do something here...
}
document.querySelectorAll();