根据输入名称动态创建ID

时间:2014-05-30 21:18:54

标签: javascript dynamic

我想知道如何根据每个输入标记的名称动态生成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="">

任何帮助将不胜感激, 谢谢!

3 个答案:

答案 0 :(得分:1)

在普通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);    
    }
}

答案 1 :(得分:0)

var inputs = document.getElementsByTagName('input');
for (var ii=0, item; item = inputs[ii]; ii++) {
    item.id = item.name;
}

答案 2 :(得分:0)

也许您可以使用for循环来迭代名称并插入ID,如下所示:

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