jq checked 设置问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jq checked 设置问题相关的知识,希望对你有一定的参考价值。

前两天写一页面 需做一单选按钮。设置如下

    $(".design p").bind("click",function() {             
        $(".design p").removeClass("checked");            
     $(this).addClass("checked").children("input").attr("checked",true); });

然后坑爹的来了,切换一两次是生效的。然后就没有然后了。后面发现用prop替换attr就正常了。

    $(".design p").bind("click",function(){             
        $(".design p").removeClass("checked");
        $(this).addClass("checked").children("input").prop("checked",true);

    });

查了下资料,自己反复试了下,get一经验:

处理元素本身就带有的固有属性时使用prop方法。处理html元素我们自己自定义的DOM属性,在处理时,使用attr方法。

这个很好理解。如input上的 type,a上面的href,img上面的alt 等固有属性处理就直接用prop。处理class,data-*等自己新建的属性就用attr。

ok,下课。

以上是关于jq checked 设置问题的主要内容,如果未能解决你的问题,请参考以下文章

jq选择器

jquery attr 设置属性 checked disabled 不起作用 改用prop

jq怎么判断checkbox是不是选中

jq中attr()和prop() 属性的区别

jq怎样给checkbox设置选中的值

jq 数组定义,拼接~~~push应用