javascript - 两段代码的区别
天蓬老师
天蓬老师 2017-04-10 16:10:33
[JavaScript讨论组]

以下两端代码实在看不出区别在哪里,但是实现的效果却不一样,第一段可以正常执行,第二段却不行。实现的是一个购物车的全选单选复选框的功能。

for (var i = 0, len = checkInputs.length; i < len; i++) {
        checkInputs[i].onclick = function () {
            if (this.className.match(new RegExp('(\\s|^)' + 'check-all' + '(\\s|$)'))) {
                for (var j = 0; j < checkInputs.length; j++) {
                    checkInputs[j].checked = this.checked;
                }
            }
            if (this.checked == false) {
                for (var k = 0; k < checkAllInputs.length; k++) {
                    checkAllInputs[k].checked = false;
                }
            }
            getTotal();
        }
    }
for (var i = 0, len = checkInputs.length; i < len; i++) {
        checkInputs[i].addEventListener('click', function () {
            if (this.className.match(new RegExp('(\\s|^)' + 'check-all' + '(\\s|$)'))) {
                for (var j = 0; j < checkInputs.length; j++) {
                    checkInputs[j].checked = this.checked;
                }
            }
            if (this.checked = false) {
                for (var k = 0; k < checkAllInputs.length; k++) {
                    checkAllInputs[k].checked = false;
                }
            }
            getTotal();
        });
    }
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(10)
怪我咯

用WebStorm吧,保证好用,尤其这种的,不仅可以compare with clipboard,还有warning info。

伊谢尔伦

给你推荐个工具,webstorm有个compare with clipboard。
功能特强大,哪一行不一样就可以直接看出来了!

迷茫

你应该采纳我的答案。
Beyond Compare 专注文本比较,文件夹,Mp3比较,数据比较,图片比较……五百年!

巴扎黑

知道了,少加了个=。
没问问题的时候怎么也发现不了,问了以后就发现了......可是问题删除不不了

迷茫

我平常都用这个

/**
 * checkbox的反选
 * @param {type} name
 * @returns {undefined}
 */
function invertSelectType(name) {
    var ids = $("input[name='" + name + "[]']");
    for (var i = 0; i < ids.length; i++)
    {

        if (ids[i].checked == true)
        {
            ids[i].checked = "";

        } else {
            ids[i].checked = "checked";

        }

    }

}
/**
 * 全选
 * @param {type} name
 * @returns {undefined}
 */
function allSelectType(name)
{

    var ids = $("input[name='" + name + "[]']");
    for (var i = 0; i < ids.length; i++)
    {

        ids[i].checked = "checked";

    }

}
阿神

第八行,==

黄舟

一个diff命令就够

PHP中文网

this.checked = false 少个等号,其他都一样。。。。。。。。

黄舟

emacs比较同样炫酷:
Esc+x+ediff+ret

怪我咯

if (this.checked = false) 缺少个=号

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号