Javascript 如何选择全部或取消选择所有元素

Javascript 如何选择全部或取消选择所有元素,javascript,Javascript,我成功地创建了“全选”框,但我还有一个问题 如何使其也未选中 以下是我的javascript代码: var tab1 = document.getElementById("tbl1"); var tab2 = document.getElementById("tbl2"); var tab3 = document.getElementById("tbl3"); var tab4 = document.getElementById("tbl4"); var tab5 = document.get

我成功地创建了“全选”框,但我还有一个问题

如何使其也未选中

以下是我的javascript代码:

var tab1 = document.getElementById("tbl1"); 
var tab2 = document.getElementById("tbl2");
var tab3 = document.getElementById("tbl3");
var tab4 = document.getElementById("tbl4");
var tab5 = document.getElementById("tbl5");
var tab6 = document.getElementById("tbl6");
var tab7 = document.getElementById("tbl7");
var tab8 = document.getElementById("tbl8");
var tab9 = document.getElementById("tbl9");
var elems = document.getElementById("checkall");


if (elems.checked == true) {

    tab1.checked = true;
    tab2.checked = true;
    tab3.checked = true;
    tab4.checked = true;
    tab5.checked = true;
    tab6.checked = true;
    tab7.checked = true;
    tab8.checked = true;
    tab9.checked = true;
}

有什么方法可以做到这一点吗?

为您的子复选框指定一个通用的类名,例如
子选择器

var checked = document.getElementById("checkall").checked;
var childElems = document.getElementsByClassName('child-selector');

for(var i=0; i< childElems.length; i++){
    childElems[i].checked = checked;
}
var checked=document.getElementById(“checkall”).checked;
var childElems=document.getElementsByClassName('child-selector');
对于(变量i=0;i
为您的子复选框指定一个通用类名,例如
子选择器

var checked = document.getElementById("checkall").checked;
var childElems = document.getElementsByClassName('child-selector');

for(var i=0; i< childElems.length; i++){
    childElems[i].checked = checked;
}
var checked=document.getElementById(“checkall”).checked;
var childElems=document.getElementsByClassName('child-selector');
对于(变量i=0;i









函数selectDeselect(){ var elems=document.getElementById(“checkall”); 对于(变量i=1;i









函数selectDeselect(){ var elems=document.getElementById(“checkall”);
对于(var i=1;i使用jQuery使其更简单

<input type="checkbox" id="check_all" onclick='check_uncheck();'/>
    <input type="checkbox" name="tab[]" id="tbl1" />
    <input type="checkbox" name="tab[]" id="tbl2" />
    <script>
    function check_uncheck() {
        jQuery("[name='tab[]']").prop('checked', $('#check_all').prop('checked'));
    }
    </script>

函数检查\u取消选中(){
jQuery(“[name='tab[]']”).prop('checked',$('check#all').prop('checked');
}

使用jQuery使其更简单

<input type="checkbox" id="check_all" onclick='check_uncheck();'/>
    <input type="checkbox" name="tab[]" id="tbl1" />
    <input type="checkbox" name="tab[]" id="tbl2" />
    <script>
    function check_uncheck() {
        jQuery("[name='tab[]']").prop('checked', $('#check_all').prop('checked'));
    }
    </script>

函数检查\u取消选中(){
jQuery(“[name='tab[]']”).prop('checked',$('check#all').prop('checked');
}
或者您可以为这些复选框指定名称,document.getElementsByName将返回包含tab1到tab9的元素集合。然后您可以使用for循环来分配属性。
希望对你有帮助

或者您可以为这些复选框指定名称,document.getElementsByName将返回包含tab1到tab9的元素集合。然后您可以使用for循环来分配属性。

希望对您有所帮助。

if(elems.checked==false){tab1.checked=false;tab2.checked=false;tab3.checked=false;tab4.checked=false;tab5.checked=false;tab6.checked=false;tab7.checked=false;tab8.checked=false;tab9.checked=false;}
或只需将逻辑更改为
tab1.checked=elems.checked;
等。@undone我复制并粘贴你写的内容,但它仍然选择全部,但无法unselect@dc5如何写?请给我一个详细的信息thx~Luk-你已经发布了代码。只需将代码的位置更改为
=true;
=elems.checked;
if(elems.checked==false){tab1.checked=false;tab2.checked=false;tab3.checked=false;tab4.checked=false;tab5.checked=false;tab6.checked=false;tab7.checked=false;tab8.checked=false;tab9.checked=false;}
或只需将逻辑更改为
tab1.checked=elems.checked;
等。@undone我复制并粘贴你写的内容,但它仍然选择全部,但无法unselect@dc5如何编写?请给我一个详细信息thx~Luk-您已经发布了代码。只需将代码的位置更改为
=true;
=elems.checked;
FYI:IE不支持getElementsByClassName!仅供参考:IE不支持getElementsByClassName!如果要在代码块中放入内容,请选择代码并按CTRL+K。如果要在代码块中放入内容,请选择代码并按CTRL+K。