浅谈JS读取DOM对象(标签)的自定义属性


Posted in Javascript onNovember 21, 2016

DOM对象对于js来说,是个很基础的元素,我们写js一般来说,都一定会对它进行操作。我们可以很方便地给它加上自定义的属性,比如:

<div id="test" class="hello"></div>

var test = document.getElementById("test");

test.adang = "adang";

alert(test.adang);

我们会发现,已经给这个id为test的DOM元素添加了一个叫做adang的属性了,然后在js中,可以调用这个属性。我在写js的时候经常用到这种方法,可以很方便地对某个dom对象添加一些特殊的数据,感觉DOM对象就像一个很好用的容器,可以放一堆数据进去。

进一步想到一个问题,这些属性可以在js中添加,那么是否可以像flex一样,在标签中添加呢?事实上,像id啊,src啊这样的属性,都是可以在 js中添加,也可以在标签上添加的,两种方式js都可以获取数据。这里要说一点,class比较特殊,标签中用的是class,在js中调用却要用 className才行。

像id啊,title,src此类html中支持的属性,可以在标签中设置,然后js访问。那么,如果是像我上面例子中的adang这样自定义的属性呢?DOM可以访问吗?做了个实验,如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<script type="text/javascript">
window.onload=function(){
  var test = document.getElementById("test");
  test.adang = "adang";
  alert(test.adang);
}
</script>
<body>
<div id="test"></div> 
</body>
</html>

用js来扩展自定义属性,结果很正常地输出了我们想要的结果,IE和FF下都正常。

然后我又写了第二段代码,如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<script type="text/javascript">
window.onload=function(){
  var test = document.getElementById("test");
  alert(test.adang);
}
</script>
<body>
<div id="test" adang="adang"></div> 
</body>
</html>

这次把扩展的属性写到了html标签上。IE下正常输出adang,FF下输出的是undefined。

但是很奇怪的,如果使用DOM提供的方法getAttribute(""),无论是在IE下,还是FF下,都可以得到我们写在标签中的自定义属性。

所以,为了兼容,我们要使用getAttribute("")来获取自定义的标签属性的值。

以上这篇浅谈JS读取DOM对象(标签)的自定义属性就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
Aug 07 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
Jquery validation remote 验证的缓存问题解决方法
Mar 25 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 Javascript
jQuery如何解决IE输入框不能输入的问题
Oct 08 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 Javascript
Node.js 中如何收集和解析命令行参数
Jan 08 Javascript
JS函数式编程实现XDM一
Jun 16 Javascript
AngularJS Phonecat实例讲解
Nov 21 #Javascript
浅谈React 属性和状态的一些总结
Nov 21 #Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 #Javascript
jQuery用FormData实现文件上传的方法
Nov 21 #Javascript
遍历js中对象的属性和值的实例
Nov 21 #Javascript
JavaScript数据结构链表知识详解
Nov 21 #Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 #Javascript
You might like
php的access操作类
2008/04/09 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
写给小白的JavaScript引擎指南
2015/12/04 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python实现大学人员管理系统
2019/10/25 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
python 实现二维列表转置
2019/12/02 Python
Django rest framework分页接口实现原理解析
2020/08/21 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
学前教育求职自荐信范文
2013/12/25 职场文书
五四青年节演讲稿
2014/05/26 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
搞笑婚前保证书
2015/02/28 职场文书
防卫过当辩护词
2015/05/21 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
《爬天都峰》教学反思
2016/02/23 职场文书