Javascript 当存在id';他内心有某种性格
我需要使用JavaScript选中某些复选框。所有这些复选框在id的开头都有字母a,而其他复选框有不同的字母。我也不知道会有多少个复选框,因为它们是动态创建的Javascript 当存在id';他内心有某种性格,javascript,html,Javascript,Html,我需要使用JavaScript选中某些复选框。所有这些复选框在id的开头都有字母a,而其他复选框有不同的字母。我也不知道会有多少个复选框,因为它们是动态创建的 <input type="checkbox" id="a1" /> 现在,如果我点击一个按钮,就会调用一个JavaScript函数,并且应该选中这些在id开头带有字母a的复选框,这可能吗?如何实现 是否有可以与document.getElementById('a')结合使用的内容。选中了?您可以获取复选框并循环它们,如下
<input type="checkbox" id="a1" />
现在,如果我点击一个按钮,就会调用一个JavaScript函数,并且应该选中这些在id开头带有字母a的复选框,这可能吗?如何实现
是否有可以与
document.getElementById('a')结合使用的内容。选中了?您可以获取复选框并循环它们,如下所示:
var checks = document.getElementsByTagName('input');
for(var i = 0, cb; cb = checks[i]; i++) {
if(cb.type.toLowerCase() == 'checkbox' && cb.id && cb.id.charAt(0) == 'a')
cb.checked = true;
}
var chks = document.querySelectorAll("input[type=checkbox][id^=a]");
编辑:使用起来有点干净,很好的电话,谢谢 最好使用id=“a*”为输入指定一个类“a”,然后使用jQuery选择该特定类的所有复选框
例如:
<input type="checkbox" id="a1" class="a" />
我希望这会有所帮助,如果您不介意使用jQuery的话,更新的浏览器(IE8、Firefox、Chrome、Opera)将允许您执行以下操作:
var checks = document.getElementsByTagName('input');
for(var i = 0, cb; cb = checks[i]; i++) {
if(cb.type.toLowerCase() == 'checkbox' && cb.id && cb.id.charAt(0) == 'a')
cb.checked = true;
}
var chks = document.querySelectorAll("input[type=checkbox][id^=a]");
这将查找所有类型为“checkbox”且id属性以字母a开头的元素。对于较旧的浏览器,您必须使用类似的内容。或者,您可以使用类似的内容,这是jQuery中使用的CSS选择器引擎。您还可以执行$(“输入:checkbox[id^=a]”)。attr('checked',true)
不改变标记…但包含jQuery对于这一点来说是过分的:)我的意思是,仅为这一点包含它是过分的。+1.cb.id.substring(0,1)
可能更好,因为cb.id.charAt(0)
@Tim-很好的调用,我很少使用它,它总是被遗忘,但肯定更干净。更新为使用.charAt()
取而代之:)