我需要根据类(class =“ Qty”)设置一堆输入框的值
如果我使用ElementID,这可以工作
document.getElementById('G_Qty_0').value='101'
Run Code Online (Sandbox Code Playgroud)
但这不起作用
document.getElementsByClassName('Qty').value='100'
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
干杯!
document.getElementsByClassName返回一个NodeList,而不是单个元素。您可以遍历列表,例如:
var list = document.getElementsByClassName('Qty');
var n;
for (n = 0; n < list.length; ++n) {
list[n].value='100';
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您知道只有一场比赛(并且您知道不会有零场比赛):
document.getElementsByClassName('Qty')[0].value = '100';
Run Code Online (Sandbox Code Playgroud)
您可能还会关注querySelector和querySelectorAll,因为它们实际上比getElementsByClassName(特别是:IE8支持,但没有getElementsByClassName)提供更好的支持。在文档中querySelector查找与给定CSS选择器匹配的第一个元素,并返回该元素实例(null如果没有)。querySelectorAll返回NodeList所有匹配元素的。(这NodeList与所返回的不完全相同getElementsByClassName,因为它是您拨打电话时的快照,而不是实时的NodeList)。
因此,例如:
document.querySelector('.Qty').value = '100';
Run Code Online (Sandbox Code Playgroud)
要么:
var list = document.querySelectorAll('.Qty');
var n;
for (n = 0; n < list.length; ++n) {
list[n].value='100';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11267 次 |
| 最近记录: |