为什么这个jQuery脚本在Chrome和Opera中不起作用,而它在Firefox,IE和Safari中完全没问题?

时间:2015-04-09 11:02:31

标签: jquery google-chrome opera

我使用以下脚本通过标题中的复选框选择gridview中的所有复选框

$("[id*=chkboxSelectAll]").click(function ()
    {
        var chkboxSelectAll = $(this);
        var grid = "[id*=grdStudents]";
        $("input[type=checkbox]", grid).each(function ()
        {
            if (chkboxSelectAll.is(":checked"))
            {
                $(this).prop("checked", "checked");
            } else
            {
                $(this).removeProp("checked");
            }
        });
    });

2 个答案:

答案 0 :(得分:3)

Jquery docs清楚地说:

  

注意:请勿使用此方法删除原生属性,例如   选中,禁用或已选中。这将删除该属性   完全,一旦删除,不能再添加到元素。 使用   .prop()将这些属性设置为false。

请注意,如果您打算再也不要使用该属性,请尽量避免使用removeProp()。

答案 1 :(得分:0)

上一个脚本中的问题如下:

$(this).removeProp("checked");

我用以下代码替换它:

$(this).prop("checked", "");

然后它运作得很好。 任何想法为什么这会在某些浏览器中出现问题而不在其他浏览器中出现?