最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Jquery中attr与prop的区别

来源:动视网 责编:小采 时间:2020-11-27 20:06:47
文档

Jquery中attr与prop的区别

Jquery中attr与prop的区别:在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。下面这篇文章主要给大家介绍了Jquery中attr与prop区别的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧,希望能帮助到大家。实践过程在
推荐度:
导读Jquery中attr与prop的区别:在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。下面这篇文章主要给大家介绍了Jquery中attr与prop区别的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧,希望能帮助到大家。实践过程在
 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。下面这篇文章主要给大家介绍了Jquery中attr与prop区别的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧,希望能帮助到大家。

实践过程

在前一段时间,同事做了一个页面,效果是这样的


页面

当点击左上方那个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?它们两个之间有什么区别?这些问题就出现了。下面这篇文章主要给大家介绍了Jquery中attr与prop区别的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧,希望能帮助到大家。实践过程在
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top