JQuery设置checkbox复选框,attr不可行,prop才是正确答案

//判断checkbox是否被选中
if($(this).is(":checked")){
    alert('选中');
}
else{
    alert('未选中');
}
 
//用jquery全选所有class为listbox的checkbox
$(".listbox").prop("checked", true);
 
//用jquery取消所有class为listbox的checkbox的选中
$(".listbox").prop("checked", false);

jQuery中attr和prop方法的区别

prop是jquery1.6新增的方法,其与attr的用法极为相似。由于不理解他们的根本区别,难免产生离奇的BUG。
通过分析attr和prop的源码,得知:
attr方法里面,最关键的两行代码,elem.setAttribute( name, value + “” )和ret = elem.getAttribute( name ),很明显的看出来,使用的DOM的API setAttribute和getAttribute方法操作的属性元素节点。
而prop方法里面,最关键的两行代码,return ( elem[ name ] = value )和return elem[ name ],你可以理解成这样document.getElementById(el)[name] = value,这是转化成JS对象的一个属性。

转载:http://gxxsite.com/content/view/id/134.html

相关推荐