如何更改相同ID输入的所有值?
<input type="hidden" id="secure" name="secure" value="">
<input type="hidden" id="secure" name="secure" value="">
<input type="hidden" id="secure" name="secure" value="">
<input type="hidden" id="secure" name="secure" value="">
我用
<script>
document.getElementById("secure").value = '123456';
</script>
但只有第一个改变。
<input type="hidden" id="secure" name="secure" value="123456">
<input type="hidden" id="secure" name="secure" value="">
<input type="hidden" id="secure" name="secure" value="">
<input type="hidden" id="secure" name="secure" value="">
答案 0 :(得分:2)
ID应该是唯一的 - 这就是它们的重点。类是用于相反的用途,即可能存在单个实例的多个实例。
假设您将ID更改为类,我们可以执行以下操作:
[].forEach.call(document.querySelectorAll('.secure'), function(el) {
el.value = '123456';
});
答案 1 :(得分:2)
您需要先将id="secure"
更改为class="secure"
<强> HTML:强>
<input type="hidden" class="secure" name="secure" value="">
<input type="hidden" class="secure" name="secure" value="">
<input type="hidden" class="secure" name="secure" value="">
<input type="hidden" class="secure" name="secure" value="">
<强> JavaScript的:强>
<script>
var els = document.getElementsByClassName("secure");
Array.prototype.forEach.call(els, function(el) {
// Do stuff here
el.setAttribute('123456');
});
</script>
答案 2 :(得分:0)
您需要为每个元素添加一个类,因为文档中的不允许重复ID 。因此,我们可以更好地保留元素的公共类[我也更改了元素ID以保持唯一]。 getElementsByClassName()
返回DOM的nodeList。我们遍历元素并放置一些值。最后用于测试我通过id打印值。
<input type="hidden" id="secure1" name="secure" value="" class="secure">
<input type="hidden" id="secure2" name="secure" value="" class="secure">
<input type="hidden" id="secure3" name="secure" value="" class="secure">
<input type="hidden" id="secure4" name="secure" value="" class="secure">
<script>
var list = document.getElementsByClassName("secure");
for(var i = 0; i< list.length;i++){
document.getElementsByClassName("secure")[i].value='123456'
}
console.log(document.getElementById('secure2').value);
</script>
答案 3 :(得分:0)
不要使用相同的id多个朋友时间。使用class而不是id。要查看结果,请从HTML中删除type="hidden"
。
var list = document.getElementsByClassName("secure");
for (var i = 0; i < list.length; i++) {
list[i].setAttribute("value", "12345");
}
&#13;
<input name="secure" value="" class="secure" />
<input name="secure" value="" class="secure" />
<input name="secure" value="" class="secure" />
<input name="secure" value="" class="secure" />
&#13;
答案 4 :(得分:0)
这样做 - 需要按类引用,然后循环遍历所有元素以实际更改值。
<div><input type="text" class="secure" id="secure1" name="secure" value="123456"></div>
<div><input type="text" class="secure" id="secure2" name="secure" value="123456"></div>
<div><input type="text" class="secure" id="secure3" name="secure" value="123456"></div>
<div><input type="text" class="secure" id="secure4" name="secure" value="123456"></div>
<script>
function myFunction() {
x=document.getElementsByClassName("secure");
for (i = 0; i < x.length; i++) {
x[i].value="100";
}
}
</script>
<button onclick="myFunction()">
click me
</button>
&#13;