prop(Property)和attr(attribute)用法区别
2015-11-10 14:42
519 查看
高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?
1.对于HTML元素本身就带有的固有属性,在处理时,使用prop方法
2.对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
<a>元素的DOM属性“href、id"是固有属性,处理这些属性时,建议使用prop方法。
action是自定义的属性,处理这些属性时,建议使用attr方法。
像checkbox,radio和select,readonly和disabled这样的元素,选中属性对应“checked”和“selected”,属于固有属性
[/code]
3.attr方法里面,最关键的两行代码,elem.setAttribute( name, value + “” )和ret = elem.getAttribute( name ),attr()读操作. 读取的是匹配元素中第一个元素的指定属性值
想要分别获取每一个元素的属性,需要使用jQuery的循环结构,比如.each()或.map()方法.上面的例子可以改成:
4.prop方法里面,最关键的两行代码,return ( elem[ name ] = value )和return elem[ name ],你可以理解成这样document.getElementById(el)[name] = value,这是转化成JS对象的一个属性。
1.对于HTML元素本身就带有的固有属性,在处理时,使用prop方法
2.对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
例如:<a href="#" id="link1" action="delete">删除</a>
<a>元素的DOM属性“href、id"是固有属性,处理这些属性时,建议使用prop方法。
action是自定义的属性,处理这些属性时,建议使用attr方法。
像checkbox,radio和select,readonly和disabled这样的元素,选中属性对应“checked”和“selected”,属于固有属性
$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true 如果上面使用attr方法,则会出现 [code]$("#chk1").attr("checked") == undefined $("#chk2").attr("checked") == "checked"
[/code]
3.attr方法里面,最关键的两行代码,elem.setAttribute( name, value + “” )和ret = elem.getAttribute( name ),attr()读操作. 读取的是匹配元素中第一个元素的指定属性值
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function () { $("button").click(function () { alert($("p").attr("title"));//获取属性 // this code can only get the first element's attribute. }); }); </script> </head> <body> <p title="title1">paragraph 1</p> <p title="title2">paragraph 2</p> <br/> <button>get title</button> </body> </html>运行结果:弹框显示: title1.
想要分别获取每一个元素的属性,需要使用jQuery的循环结构,比如.each()或.map()方法.上面的例子可以改成:
<script type="text/javascript"> $(document).ready(function () { $("button").click(function () { //get attribute for every element in selection. $("p").each(function () { alert($(this).attr("title")); }); }); }); </script>
4.prop方法里面,最关键的两行代码,return ( elem[ name ] = value )和return elem[ name ],你可以理解成这样document.getElementById(el)[name] = value,这是转化成JS对象的一个属性。
相关文章推荐
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- jconsole监控jvm
- 使用Nginx后获取用户IP,以及防止伪造IP
- tomcat以指定用户启动
- Linux 安装 windows 字体
- tomcat详解
- Centos5.8 x86_64下安装DRBD+Heartbeat+NFS
- Linux下实现USB口的热插拔事件触发
- 在win7下安装openssl 64位的
- 11 个超实用的网站页脚设计小技巧—兄弟连IT教育
- Restful架构思想理解
- linux时区问题
- shell-bash学习01基础、打印、环境变量
- Apache kafka之旅——java 发送接受消息
- 搭建nginx+ffmpeg服务
- Linux Shell基础
- 辛星浅析linux下安装rails对于sqlite3缺少的问题
- KVM “qemu-ifup: could not configure /dev/net/tun: Operation not permitted”解决方案
- CSDN网站系统升级公告
- 关于makefile和shell脚本的异同:make和bourne again shell--bash