基于Input Name动态创建ID

Dynamically Create an ID based on an Input Name

本文关键字:创建 ID 动态 Name Input 基于      更新时间:2023-09-26

我想知道如何根据它的名称动态地生成每个输入标签的ID。我必须做到这一点只使用javascript -不是jQuery。

因此,例如,如果我有以下文本输入:
<input type="text" name="input1" value="">
<input type="text" name="input2" value="">
<input type="text" name="input3" value="">

我想以这个结尾:

<input id="input1" type="text" name="input1" value="">
<input id="input2" type="text" name="input2" value="">
<input id="input3" type="text" name="input3" value="">

任何帮助将是感激的,谢谢!

在纯JS中,您可以获得标签名称的元素基础。然后为该元素设置id属性

function setinputIds() { 
   var inputs = document.getElementsByTagName('input');
    for(var i=0;i < inputs.length; i++) {
        var id = inputs[i].getAttribute('name');
        inputs[i].setAttribute("id", id);    
    }
}
var inputs = document.getElementsByTagName('input');
for (var ii=0, item; item = inputs[ii]; ii++) {
    item.id = item.name;
}

也许你可以使用for循环来迭代name并插入id,像这样:

for(i=1;i<4;i++){
document.getElementsByName('input'+i).id='input'+i;
}