zoukankan      html  css  js  c++  java
  • prop()和attr()

    区别 :!!
    attribute表示HTML文档节点的属性,property表示JS对象的属性
    prop()函数的设计目标是用于设置或获取指定DOM元素(指的是JS对象,Element类型)
    上的属性(property)
    attr()函数的设计目标是用于设置或获取指定DOM元素所对应的文档节点上的属性(attribute)


    attr()主要依赖 getAttribute() setAttribute();
    prop()主要依赖的则是JS中原生的对象属性获取和设置方式,如: msg["pid"]="pid的值"

    不过DOM元素某些属性的更改也会影响到元素节点上对应的属性,例如,property的id对应attribute的id ,,property的className对应attribute的class;

    // 1,attr()是jQuery 1.0 版本 就有的函数,prop() 是jQuery 1.6版本新增的函数
    //2,attr() 函数操作的是文档节点的属性,因此设置的属性值只能是字符串类型,如果不是字符串类型,也会调用toString()转化为字符串类型,,prop()函数操作的是JS对象的属性,因此设置的属性值可以包括数组和对象在内的任意类型
    //3,其他细节问题
    //对于表单元素的 "checked" "selected" "disabled" 等属性,在jQuery 1.6之前,attr()获取这些属性的返回值为Boolean; 如果被选中(或禁用)返回true,否则false 但是从1.6开始,使用attr()获取这些属性的返回值为String,如果被选中(或者禁用)则返回“checked” “selected” “disabled”,否则返回“undefined”
    //并且,在某些版本中,这些属性值表示文档加载时的初始状态值,即使之后更改了这些元素的选中(或禁用)状态,对应的属性值也不会发生改变。因为jQuery认为 attribute的“checked” “selected” “disabled” 就是表示该属性初始状态的值,property的“checked” selected disabled才表示该属性实时状态的值(值为true或false)。。因此在jQuery1.6及以后版本中,请使用prop()函数来设置或获取 checked, selected,disbled对于其他能够用prop()实现的操作,也尽量使用prop()函数

    http://www.365mini.com/page/jquery-attr-vs-prop.htm

    时代在变,你真是留不住自己
  • 相关阅读:
    Chamfer Distance--倒角距离
    javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    mysql单个索引和联合索引的区别
    鸽一下
    笔记:关于 INT1 INT0 中断说明记录 (2020-07-16)[85.22%]
    使用 Git 管理 KiCad EDA 项目文件 [2020-06-28][26.77%]
    从单片机基础到程序框架 2019版(2020-07-04)[12.66%]
    KiCad Pcbnew 中现代工具箱 (2020-06-24)[98.33%]
    【营养研究一】鸡蛋和牛奶的营养对比 (2020-06-23)[95.89%]
    git 忽略上传指定文件 命令
  • 原文地址:https://www.cnblogs.com/mwfsm/p/7542806.html
Copyright © 2011-2022 走看看