浅谈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 相关文章推荐
对YUI扩展的Gird组件 Part-2
Mar 10 Javascript
学习ExtJS Window常用方法
Oct 07 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
javascript学习笔记(十) js对象 继承
Jun 19 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
js实现正则匹配中文标点符号的方法
Dec 23 Javascript
基于JavaScript FileReader上传图片显示本地链接
May 27 Javascript
webpack 静态资源集中输出的方法示例
Nov 09 Javascript
微信小程序实现简单表格
Feb 14 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
详解package.json版本号规则
Aug 01 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 adodb连接mssql解决乱码问题
2009/06/12 PHP
php 一元分词算法
2009/11/30 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Python代码实现KNN算法
2017/12/20 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
python算的上脚本语言吗
2020/06/22 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2015年幼儿园后勤工作总结
2015/04/25 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书