javascript学习笔记--js对html对象的原生操作
来源:互联网 发布:免费个人域名注册 编辑:程序博客网 时间:2024/05/22 00:45
本文转载自 http://www.zhangyunling.com/?p=28 有删改
操作HTML元素属性的方法
通常情况下,我们使用的方法有两种:(假设我们获取到的HTML
对象是obj
)
- 1,对象方法,例如obj.id,取得目标obj的属性id的值。
- 2,DOM方法,使用obj.getAttribute("id"),同样能获取到id的值。
两种方法的区别
- 对于常用的属性,比如:
id
,class
等,使用第一种方法obj.id
取值, 读取已有的属性
- <div id="select" class = "class" data-data = "data" aaa = "aaa"></div>
- var obj = document.getElementById("select");
- //下面分别使用两种方法,获取对应的值
- console.log(obj.className); //class
- console.log(obj["data-data"]);//undefined
- console.log(obj.dataset.data);//data-data属性,是HTML5中新支持的属性,使用这样的方法进行获取,obj.dataset是一个对象,可以存储多个属性的值,支持这个属性的浏览器返回值是“data”,不支持dataset属性的,浏览器会抛出异常。IE9没有这个属性,IE10+的未测试。
- console.log(obj.aaa); //undefined
- console.log("aaa" in obj); //结果是undefined,对象检测属性是否存在的,由这里可以看出,自定义的属性,是不会存在于obj对象的直接子属性中的。注:IE8-的模式下,这里的结果是true,这应该是因为,IE8-的浏览器中,HTML的DOM标签对象,并不是继承自Object对象的原因吧。所以在HTML标签上面,添加的属性,都会被添加到对应标签的对象上面去,这个是使用该种方法的一个差异之处。
接下来使用另外一种方法:
- console.log(obj.getAttribute("class")); //class
- console.log(obj.getAttribute("data-data")); //data
- console.log(obj.getAttribute("aaa")); //aaa
对标签使用两种方法设置属性
- <div id="select"></div>
- var obj = document.getElementById("select");
使用第一种方法设置:
- obj.className = "class"; //没问题,在所有浏览器下都设置成功。
- obj['data-data']= "data1"; //IE8-的浏览器下,设置成功,其他都不行。
- //obj.dataset.data= "data2"; //支持dataset的,都可以。
- obj.aaa = "aaa"; //IE8-的浏览器下,设置成功,其他都不行。
0 0
- javascript学习笔记--js对html对象的原生操作
- 原生Js对html文档的属性操作
- js原生操作HTML对象的属性区别
- JavaScript学习笔记之DOM对象操作html元素
- 原生js对dom点的操作
- 05、JS对HTML节点对象的属性操作:
- JS对Select的操作学习笔记
- javascript学习笔记--数组对象的操作
- javascript对文档对象模型DOM的基本操作学习笔记
- 原生js操作dom的笔记整理
- 原生JS-jQuery : HTML 操作
- 原生js对cookie操作
- 学习笔记--原生JS
- 原生js学习笔记
- AJAX学习笔记之XML对象原生JS使用方法
- 对原生js事件对象处理的封装
- JS操作的Html控件及其代码→学习笔记
- 原生JS学习笔记4——DOM操作
- OpenCV3.1.0的下载、安装和配置
- 移动安全之Android安全检测工具大全
- MySQL索引碎片修复
- openssl pem密钥文件rsa加密解密例子
- ToString格式化
- javascript学习笔记--js对html对象的原生操作
- Mac环境下ADT工具配置ndk
- Hibernate中两种获取Session的方式
- CSS3实现图片循环旋转
- 编程的智慧
- Centos服务器-虚拟机-安装-配置-部署
- javascript面向对象编程——构造函数的封装
- 【51Nod 1180】方格射击游戏
- Glide