属性操作
2015-10-17 16:48
309 查看
HTML attribute->DOM property
每个html 属性对应相应的DOM对象属性可以通过JS进行属性操作
有以下三种方式
--- property accessor 属性访问器 --- getAttribute/setAttribute --- dataset
property accessor属性访问器
属性访问器进行读取属性的操作
属性访问器进行写操作
直接通过个属性赋值的方式进行写操作类型
通过属性访问器获取的属性是转换过的实用对象。相应的属性会被浏览器转换成符合的类型。
如下图中,className的属性为String型。 onclick的属性为Function型
属性访问器操作的特点
缺点:- 通用性—-名字异常
有的属性可以直接用属性名访问,有的由于关键字等原因不能直接访问
例如在访问器中class要用className代替。
- 扩展性
优点
实用对象
用属性访问器获取的是浏览器自动转换后的实用对象,可以直接使用,并不是所有的都是字符串,不必转换类型。
setAttribute getAttribute
读取属性 getAttribute
var attribute = element.getAttribute(attributeName);通过传入属性的名称获取属性的值。因为是attributeName参数是以字符串形式传入的所以不存在名字冲突。
写属性 setAttribute
element.setAttribute(name, value);name—-属性名称 string
value—-属性值 string
类型
属性字符串和用属性访问器的实用对象不同,所有类型都是字符串类型,不能直接使用。要转换成需要的类型。
g/setAttribute操作的特点
缺点:获取到的属性值仅仅是字符串
优点:
通用性好。
结合属性访问器和g/setAttribute的案例
实现登录界面中的登录按钮不能重复操作,用户连续第二次点击时将按钮不能使用并在视觉上置灰以告知用户不能点击上图中使用的
button.disable = true;//使用属性访问器将功能禁用
button.setAttribute(‘class’, ‘disable’); //增加一个新类名,增加禁用后的样式。
总结:一般来说,纯字符串的方式就用g/setAttribute方式操作属性
如果是其它类型则用属性访问器来操作
dataset
用户自定义属性HTMLElement.dataset data-*属性集 元素上保存数据
相关文章推荐
- WF数字计算6
- 如何在java中实现List集合的遍历
- POJ 2105解题报告
- SynchronizationContext一篇
- 秦时明月-白雪
- jquery排除某个元素
- poj 1743(后缀数组)
- Android学习Broadcast Receiver(广播接收者) 注意事项
- android去掉 radio 或 checkBox 的默认图标,用自己的图标
- get post 区别
- WF累加求和5
- python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode
- jQuery源码分析之jQuery.event.special八问
- 周期节
- 求一个数二进制位中有多少个 1 的不同解法
- SQL Server日志
- unity, 由于project settings中time scale变成0导致动画不播放
- 获取网上数据的两种方法HttpURLConnection和HttpClient
- hibenate 操作oracle 日期问题
- Asp.NET利用ClientScript.RegisterStartupScript("")的同学,请注意!