位置: 编程技术 - 正文

JavaScript中property和attribute的区别详细介绍

编辑:rootadmin

推荐整理分享JavaScript中property和attribute的区别详细介绍,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

1. 定义

Property:属性,所有的HTML元素都由HTMLElement类型表示,HTMLElement类型直接继承自Element并添加了一些属性,添加的这些属性分别对应于每个HTML元素都有下面的这5个标准特性: id,title,lang,dir,className。DOM节点是一个对象,因此,他可以和其他的JavaScript对象一样添加自定义的属性以及方法。property的值可以是任何的数据类型,对大小写敏感,自定义的property不会出现在html代码中,只存在js中。

Attribute:特性,区别于property,attribute只能是字符串,大小写不敏感,出现在innerHTML中,通过类数组attributes可以罗列所有的attribute。

2. 相同之处

标准的 DOM properties 与 attributes 是同步的。公认的(非自定义的)特性会被以属性的形式添加到DOM对象中。如,id,align,style等,这时候操作property或者使用操作特性的DOM方法如getAttribute()都可以操作属性。不过传递给getAttribute()的特性名与实际的特性名相同。因此对于class的特性值获取的时候要传入“class”。

3. 不同之处

1).对于有些标准的特性的操作,getAttribute与点号(.)获取的值存在差异性。如href,src,value,style,onclick等事件处理程序。2).href:getAttribute获取的是href的实际值,而点号获取的是完整的url,存在浏览器差异。

src的值的获取类似href,不过IE也会返回full URL;value值同样存在一些 ‘one-way'(单向)同步的内置属性。例如,input.value 从 attribute 中同步(即 property 从 attribute 中获得同步)

JavaScript中property和attribute的区别详细介绍

但是 attribute 不能从 property 中获得同步:

getAttribute获取的是初始值,而点号获取的是初始值或者.value修改后的值,例如当访问者输入了某些字符后,'value' attribute 在 property 更新后维持了原始值。原始值可以用来检验 input 是否变化,或者重置它。

对于style和onclick等事件处理程序,getAttribute方法访问时会返回字符串,而点号返回的是相应的对象和事件处理函数。

对于input中的checked属性

getAttribute获取的是你是实际设置的值。而点号返回的是布尔值。

浏览器兼容性上的差别

1.在IE<9的浏览器中,可以用点号和getAttribute在相互之间访问自定义属性。2.IE<8(包括IE8种的IE7兼容模式),property和attribute相同。因为attribute对大小写不敏感,在这种情况下,用getAttribute访问特性的时候,浏览器会选择第一次出现的值。

优先选择property

在实际应用中,%的 DOM 操作都是使用 properties。只有两种情形需要使用attributes

1.自定义 HTML attributes,因为它并不同步到DOM property。2.访问内置的 HTML attributes,这些 attribute 不能从 property 同步过来。例如 INPUT标签的value值。

浅谈JavaScript数据类型 1.数据类型是什么?我们接触的绝大多数程序语言来说,把数据都进行了分类,包括数字、字符、逻辑真假:int,long,string,boolean....等等;我们都知道

深入理解JavaScript系列():设计模式之享元模式详解 介绍享元模式(Flyweight),运行共享技术有效地支持大量细粒度的对象,避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。

深入理解JavaScript系列():设计模式之中介者模式详解 介绍中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改

标签: JavaScript中property和attribute的区别详细介绍

本文链接地址:https://www.jiuchutong.com/biancheng/382856.html 转载请保留说明!

上一篇:ECMAScript 5严格模式(Strict Mode)介绍(严格模式的作用)

下一篇:浅谈JavaScript数据类型(javascript中数组的方法)

  • 汇算清缴需要做分录吗
  • 出口退税的条件有哪些
  • 税务局退税多久到账
  • 工会经费和福利费怎么花
  • 土地使用税是新增税吗
  • 小微企业所得税税率2.5% 10% 25%
  • 套期会计新旧准则对比
  • 金税盘可以用安卓的线吗
  • 库存商品属于资产类会计科目吗
  • 客人受伤赔偿协议书范本
  • 购入固定资产如何摊销
  • 可税前扣除的工资
  • 无息贴息贷款合同印花税
  • 公司注销未登记债权,债务人如何抗辩
  • 缴纳公积金工资基数
  • 建筑工程总包单位招聘
  • 三证合一之前
  • 代收国税地税收入
  • 增值税发票的帐号怎么查
  • 出售专利权属于什么科目
  • 开具房租发票备注多少
  • 个人转让公司限售股纳税地点要求
  • 东芝t351笔记本
  • 公司章程认缴时效是多久
  • 商业承兑汇票承兑人可以是银行吗
  • 天猫收取的三大费用
  • uefi和legacy的区别对显卡兼容
  • 跨年冲减无发票怎么入账
  • 苹果多屏协同win10
  • 累计折旧额怎么计算公式
  • 挂账多年的往来账怎么处理
  • 跨年的发票作废重新开具需要入账
  • framework启动
  • 计提本月附加税2496.28
  • 进出口公司如何做账
  • 小规模纳税人每月申报什么税
  • php 抓取别的网站的内容
  • 一般纳税人开出13%的普通发票怎么扣税
  • 个体户怎么开发票免税
  • 什么是webrip
  • 其他收益在资产负债表哪点
  • 华为od测试岗机试需要怎么准备
  • php 输出
  • 织梦怎么样
  • 如何利用python进行文本挖掘
  • 待摊费用的明细
  • 商家的这些行为对消费者的购买行为有什么影响
  • 安装防伪税控系统的方法
  • 个人生产经营所得
  • 配电箱安装步骤及要求
  • 以前年度多计提成本怎么处理
  • 企业注销后账目如何处理
  • 什么时候确认应收
  • 工业企业成本占比多少合适
  • 在途物资和材料采购的区别
  • mysql5.7慢查询
  • ubuntu系统升级后无法进入系统
  • ubuntu安装超详细教程
  • 苹果mac系统怎么截屏快捷键
  • xp系统禁止程序联网
  • reald是什么格式
  • kdeskcore.exe是什么
  • 物联网版块股票
  • web前端开发应届生简历
  • opengl绘制函数
  • Node.js中的事件循环是什么意思
  • shell脚本可以使用的引号
  • xp系统explorer停止工作
  • incaseformat查杀
  • nodejs promise.all
  • jquery easy ui
  • python发邮件代码
  • bootstrap需要学多久
  • 电子专票红字信息表
  • 网上怎么申报地税
  • 企业获得的保险公司保险赔偿款收入
  • 财税咨询服务内容包括
  • ca用户绑定怎么绑
  • 成都网上税务局
  • 地税局网上报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设