您的位置:首页 > Web前端 > JQuery

jquery prop方法和attr方法区别

2013-12-15 00:00 886 查看
日!终于知道自己上次是什么错误了?要想知道jquery prop方法和attr方法区别,先得了解property和attribute的概念:
1.我们知道对于checkbox这个DOM对象来说,它必然有个选择状态,且它的选择状态只有两种,要么是选中状态,要么是非选中状态,所以不管什么时候我们用prop方法获取其checked值,都能获得一个确定的值,true或false,而对于checkbox的HTML表示来说,它可以简单的表示为<input type="checkbox"/>,这里你可以不用对checked属性赋值,这时,在用attr获取checked值时,其值将是undefined.

2.对于某些HTML标签属性,在DOM对象中将对应不同的属性名,比如<li class="highlight">,其attribute名是class,但是其property名却是className.

3.用prop赋值将是针对其当前的状态赋值,而对于某些属性,attr则是赋予一个初始值。这样prop将永远能动态的改变checkbox的状态,而对某些浏览器来说,attr只能在checkbox被显示在页面上之前改变checked的初始状态,而之后则再也无法改变checked的状态。而且prop能永远获得checkbox的当前状态,而不管checkbox的当前状态如何,attr只能获得初始状态。

4.内置的DOM property不能被移出,而attribute可以。
<以上四点参考资料:http://www.cnblogs.com/studynote/p/3475005.html>
然后再来说说prop方法和attr方法区别:
我目前碰到的也只是再checkbox上的不同,而且只是IE不兼容,按照官方来说使用区别如下:
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: