attribute(特性)和property(属性)是两个不同的概念。attribute表示HTML文档节点的特性,property表示DOM元素的属性

这些属性例如selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, defaultSelected,而不是特性

示例一:
<a href='foo.html' class='test one' name='fooAnchor' id='fooAnchor'>Hi</a>

var link = document.getElementById('fooAnchor');

//dom api方式取值
alert(link.href);// "http://example.com/foo.html"  -属性
alert(link['href']; // "http://example.com/foo.html"  -属性
alert(link.getAttribute("href")); //  "foo.html"  -特性

//jquery方式取值
$("#fooAnchor").prop("href") //"http://example.com/foo.html"
$("#fooAnchor").attr("href") //foo.html

由此可以看到,属性值和特性值的区别

示例二

<input id="cb" type="checkbox" checked='checked'>

var ele=document.getElementById("cb");
//DOM API取值
ele.checked //true

//jquery取值 (jquery1.6以后的版本)

$(ele).attr("checked")  //"checked" 不推荐

$(ele).prop("checked") //true 推荐

由此可以看到,属性值和特性值的区别

//DOM API 赋值

ele.checked=false;

//jquery赋值
$(ele).attr("checked",'checked') //不推荐
$(ele).prop("checked", false) //推荐

注意赋值后,在html中的表现形式 checked='checked'  selected="selected"

//prop可以取出特性中没有但是属性存在的值
$(ele).attr('readonly') //undefined ,标签里不包含此特性
$(ele).prop('readonly') //false ,readonly是input元素的固有属性

$(ele).attr('required') //undefined ,标签里不包含此特性
$(ele).prop('required') //false ,required是input元素的固有属性

总结:

attribute(特性)和property(属性)是两个不同的概念

jquery对DOM元素属性值是 true 和 false属性 ,如 checked, selected 或者 disabled,readonly 使用prop(),其他的使用 attr()

最新文章

  1. Java学习笔记,第三章
  2. Only MySqlParameter objects may be stored
  3. mvc局部视图
  4. Android 图片的缩放与旋转
  5. makeimg
  6. [TCPIP]代理arp
  7. socket编程中用到的头文件整理
  8. qt tablewidget搜索效果如下
  9. 设计模式 State模式 机器的情况下用自己的主动性
  10. 【原创】POI 生成Excel文件并下载
  11. Web后端 JAVA学习之路
  12. 查看apk签名 和 keystore 的信息
  13. Vue+element组合el-table-column表头宽度自定义
  14. 导入Excel 类型的数据
  15. easyui datagrid 去掉外边框及行与行之间的横线标题字体
  16. kali linux 64bit 2019.1a下启动bbqsql:No module named coros
  17. python记录_day17 类与类之间的关系
  18. POJ - 2823 Sliding Window (滑动窗口入门)
  19. Jquery 一些好用的插件和工具类
  20. v-model双向数据绑定

热门文章

  1. leetcode:Insert Sort List
  2. 自动化工具 Python 调 Jmeter 执行参数化 jmx 脚本
  3. php 文件上传$_FILES中error返回值详解
  4. vim之vundle
  5. servlet的登陆案例
  6. Spring中使用JDBC
  7. springcloud(九) springboot Actuator + admin 监控
  8. sed你所不知道的语法
  9. OpenCL NativeKernel 计算矩阵乘法
  10. How To Manually Install Oracle Java on Ubuntu