我有多个复选框,只有在网页加载后才使用带有Javascript的for循环创建。
我希望默认情况下将所有复选框设置为true,我可以在控制台中执行此操作,但是当我将它放在我的脚本中时,它不起作用,因为函数可能在DOM元素加载之前加载。
我尝试了两种不同的方法,似乎都没有用。在这两种情况下,它们仅适用于我键入的硬编码复选框(不是由for loops / DOM生成)。如果有人知道如何解决这个问题,我将非常感激!
这是我的基本jQuery / JS代码。
$(document).ready(function() {
var setTrue = document.getElementsByTagName("input");
for (var i = 0; i < setTrue.length; i++) {
setTrue[i].checked = true;
};
});
$(window).on("load", function() {
var setTrue = document.getElementsByTagName("input");
for (var i = 0; i < setTrue.length; i++) {
setTrue[i].checked = true;
};
});
您可以使用此示例设置当前页面上所有复选框的属性以进行检查。
$(function(){
$('input:checkbox').prop('checked', true)
})
看起来你有正确的方法从评论中做到这一点,即更改添加复选框的javascript,最初只需添加一个checked属性。但对于那些希望做类似事情的人来说,他们无法控制复选框,你的jQuery函数可以工作,但可以更简单地完成这样的事情:
$(document).ready() {
$('input:checkbox').attr('checked', true)
}
jQuery已经为你完成了输入对象的循环(在你的尝试中,你最终会向每个输入添加'checked',而不仅仅是复选框)。