如何动态添加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();