在javascript中更改具有相同ID的所有输入值

如何更改相同id输入的所有值?

    

我用

  document.getElementById("secure").value = '123456';  

但只有第一个改变。

     

您需要先将id="secure"更改为class="secure"

HTML:

     

JavaScript的:

  

ID应该是唯一的 – 这就是它们的重点。 类是相反的用途,即可能存在单个实例的多个实例。

假设您将ID更改为类,我们可以执行以下操作:

 [].forEach.call(document.querySelectorAll('.secure'), function(el) { el.value = '123456'; }); 

不要使用相同的id多个朋友时间。 使用class而不是id。 要查看结果,请从HTML中删除type="hidden"

 var list = document.getElementsByClassName("secure"); for (var i = 0; i < list.length; i++) { list[i].setAttribute("value", "12345"); } 
     

这工作 – 需要按类引用,然后循环遍历所有元素以实际更改值。

 

您需要为每个元素添加一个类,因为在文档中不允许重复ID 。因此,我们可以更好地保留元素的公共类[我也更改了元素id以保持唯一]。 getElementsByClassName()返回DOM的nodeList。 我们遍历元素并放置一些值。 最后用于测试我通过id打印值。