首页 新闻 会员 周边

这段JavaScript代码还能如何更精简?

0
[待解决问题]

  

1 $("#checkAll").change(function () {
2                     $("[name=chkItem]").prop("checked", $(this).prop("checked"));
3 
4                     if ($(this).prop("checked")) {
5                         $("[name=spanChkItem]").addClass("checked");
6                     } else {
7                         $("[name=spanChkItem]").removeClass("checked");
8                     }
9                 });
oct的主页 oct | 菜鸟二级 | 园豆:204
提问于:2015-10-22 10:50
< >
分享
所有回答(2)
0
    var $checkAll = $("#checkAll"),
        $chkItems = $("[name=chkItem]"),//防止多次查找DOM
        $spanChkItems = $("[name=spanChkItem]");

    $checkAll.on('change', function () {
        //避免过多的DOM属性查找
        var isChecked = $(this).prop("checked");
        $chkItems.prop("checked", isChecked);
        $spanChkItems[isChecked ? 'addClass' : 'removeClass']('checked');
    })
linkFly | 园豆:91 (初学一级) | 2015-10-22 11:01
0
1 $('#checkAll').change(function(){
2     var isChecked = this.checked,
3           $spanChkItem=$('[name=spanChkItem]');
4     //[name=chkItem]应该是#checkAll的子元素,
5     //如果不是document.querySelector('[name=chkItem]')
6     this.querySelector('[name=chkItem]').checked=isChecked;
7     isChecked?$spanChkItem.addClass('checked'):$spanChkItem.removeClass('checked');
8 });
木公2014 | 园豆:215 (菜鸟二级) | 2015-10-22 15:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册