实践过程
在前一段时间,同事做了一个页面,效果是这样的
页面
当点击左上方那个checkBox时,要将下面的checkBox全部选中,我们的代码是这样的
$("input[name='checkbox']").attr("checked",true);
然并卵,一点效果都没有,后来换成这样,好了
$(function(){ $("#all").click(function(){ if($("#all").prop("checked")){ $("input[name='checkbox']").prop("checked",true); }else{ $("input[name='checkbox']").prop("checked",false); } }); });
于是上官方的文档查了下attr和prop的区别,发现根本看不懂,如下图
于是,我们做了个实验
c1:<input id="c1" name="checkbox" type="checkbox" checked="checked" /></br> c2:<input id="c2" name="checkbox" type="checkbox" checked=true/></br> c3:<input id="c3" name="checkbox" type="checkbox" checked=""/></br> c4:<input id="c4" name="checkbox" type="checkbox" checked/></br> c5:<input id="c5" name="checkbox" type="checkbox" /></br> c6:<input id="c6" name="checkbox" type="checkbox" checked=false/></br> var a1=$("#c1").attr("checked"); var a2=$("#c2").attr("checked"); var a3=$("#c3").attr("checked"); var a4=$("#c4").attr("checked"); var a5=$("#c5").attr("checked"); var a6=$("#c6").attr("checked"); var p1=$("#c1").prop("checked"); var p2=$("#c2").prop("checked"); var p3=$("#c3").prop("checked"); var p4=$("#c4").prop("checked"); var p5=$("#c5").prop("checked"); var p6=$("#c6").prop("checked"); console.log("a1:"+a1); console.log("a2:"+a2); console.log("a3:"+a3); console.log("a4:"+a4); console.log("a5:"+a5); console.log("a6:"+a6); console.log("p1:"+p1); console.log("p2:"+p2); console.log("p3:"+p3); console.log("p4:"+p4); console.log("p5:"+p5); console.log("p6:"+p6);
结果是这样的(chrome)
效果
发现attr的返回值要么是checked要么是undefined,prop的返回值只有true和false。
经过在网上搜素和测试总结
prop()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是空字符串。
attr()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是undefined。
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小牛知识库的支持。
本文向大家介绍jquery中attr和prop的区别分析,包括了jquery中attr和prop的区别分析的使用技巧和注意事项,需要的朋友参考一下 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。 关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单: • 对于HTML元素本身就带有的固有属性,在处理时,
本文向大家介绍jquery中attr、prop、data区别与用法分析,包括了jquery中attr、prop、data区别与用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery中attr、prop、data区别与用法。分享给大家供大家参考,具体如下: 在高版本的jquery中获取标签的属性,可以使用attr()、prop()、data(),那么这些方法有什么区别呢? 对于
本文向大家介绍jQuery中 prop() attr()使用详解,包括了jQuery中 prop() attr()使用详解的使用技巧和注意事项,需要的朋友参考一下 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之
本文向大家介绍关于jquery中attr()和prop()方法的区别,包括了关于jquery中attr()和prop()方法的区别的使用技巧和注意事项,需要的朋友参考一下 最近项目回归使用jquery,页面渲染全是使用jquery做的,所以做的时候也遇到了许多以前没有见过的问题,如这次操作【radio】控件的"checked"属性时有遇到问题, $("...").attr("checked",fa
本文向大家介绍jQuery的attr和prop方法有什么区别?相关面试题,主要包含被问及jQuery的attr和prop方法有什么区别?时的应答技巧和注意事项,需要的朋友参考一下
本文向大家介绍jQuery获取attr()与prop()属性值的方法及区别介绍,包括了jQuery获取attr()与prop()属性值的方法及区别介绍的使用技巧和注意事项,需要的朋友参考一下 今天在项目中使用<select></select>下拉菜单时,使用juery操作,使页面加载完菜单默认选中的值为2,我一开始的操作如下: 咋一看好完美,木问题,但是我发现在Safari浏览器中,根本不起作用!