setAttribute()、getAttribute()与ele[attr]与自定义属性
一、自定义属性设置
1.setAttrbute()
var q=document.getElementById("q");
q.setAttribute("index",0);
console.dir(q);
我们分别来看一下它在IE8、9和chrome中的表现。
IE7、8:



我们可以看到,用setAttribute设置的自定义属性会出现在元素标签中,并且出现在元素对象属性上。
IE9:


我们可以看到,自定义属性依然出现在元素标签中,但并不是直接存放在元素对象下的属性,而是存在于元素对象下的attributes属性下。
chrome:


可以发现,自定义属性依然出现在元素标签中,存在于元素对象下的attributes属性下。
总结,setAttribute()用于设置在标签中显示的元素,在IE6,7中通通放在元素属性下;而在IE9和chrome中,,与直接写在标签中的属性一同存放于attributes属性下。
2.ele[attr]
q.index=0;
console.dir(q);
我们分别来看一下它在IE8、9和chrome中的表现。
IE7、8:



我们可以看到,与setAttribute效果一样。
IE9:


我们可以看到,自定义属性没有出现在元素标签中,存于在元素对象的属性下。
chrome:


可以发现,自定义属性没有出现在元素标签中,存在于元素对象下得属性下。
总结,ele[attr]在设置自定义属性时,不会出现在元素标签中,只存在于元素对象下。
二、获取属性
获取自定义属性时,getAttribute()会根据setAttribute()的存放位置进行获取;同样,ele[attr]也会根据上述ele[attr]的存放位置进行获取;在混用的时候,在ie6,7,8中不会有问题,但在高版本的浏览器中,由于setAttribute()和ele[attr]存放位置不同,就不一定能取到东西。
setAttribute()、getAttribute()与ele[attr]与自定义属性的更多相关文章
- JSP内置对象--session对象(getId(),getCreationTime(),getLastAccessedTime(),isNew(),invalidate(),setAttribute(),getAttribute())
session对象是javax.servlet.http.HttpSession接口的实例,但是不像HttpServletRequest或HttpServletResponse一样,有父接口,他没有父 ...
- setAttribute,,,getAttribute,,,,
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 在请求中存取属性setAttribute&getAttribute方法
在请求中保存属性: public void setAttribute(String name,Object o) request.setAttribute("mess"," ...
- JS-特效 ~ 04. client对象、网页可视区域的宽高、client / offset / scroll 三大家族的区别、冒泡事件、事件委托、获取内嵌式和外链式属性getStyle(ele,attr) ;、缓动动画封装
知识点: 模拟滚动条的解除事件问题 : event内置对象,包含 了大量事件: page兼容性: pageX || clientX + scool().top : if (true === a)tr ...
- 自定义属性,innerHTML,outerHTML,dom节点的获取,className,tagName,更改或者是获取css属性
01.自定义属性 1.自定义属性: 作用:保存数据 通用的自定义属性的前缀 data-属性="属性值" 注:自定义的属性不能通过 元素.属性 取属性值 ,需使用getAttribu ...
- jquery源码解析:attr,prop,attrHooks,propHooks详解
我们先来看一下jQuery中有多少个方法是用来操作元素属性的. 首先,看一下实例方法: 然后,看下静态方法(工具方法): 静态方法是内部使用的,我们外面使用的很少,实例方法才是对外的. 接下来,我们来 ...
- jQuery中attr()、prop()、data()用法及区别
.attr(),此方法从jq1.0开始一直存在,官方文档写的作用是读/写DOM的attribute值,其实1.6之前有时候是attribute,有时候又是property..prop(),此方法jq1 ...
- jQuery函数attr()和prop()的区别
在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同. 但不得不说的是,这两个函数的用处却并不相同.下面我们来详细介绍这两个函数之间的区别. ...
- HTML5 自定义属性 data-* 和 jQuery.data 详解
新的HTML5标准允许你在普通的元素标签里,嵌入类似data-*的属性,来实现一些简单数据的存取.它的数量不受限制,并且也能由javascript动态修改,也支持CSS选择器进行样式设置.这使得dat ...
随机推荐
- centos 7 安装 python3.6 python3 安装步骤以及pip pip3安装挂载
首先去python官网下载python3的源码包,网址:https://www.python.org/ 或者直接wget下载 wget https://www.python.org/ftp/pytho ...
- Ubuntu 12.10 安装VirtualBox增强功能
原文链接:http://fengbaoxp.iteye.com/blog/1871825 Ubuntu 12.10 Desktop 首先,通过VirtualBox菜单(设备->安 ...
- java基础-day15
第01天 java面向对象 今日内容介绍 u 包和权限修饰符 u 内部类 第1章 包和权限修饰符 1.1 包的概述 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当 ...
- ScheduledExecutorService的使用
http://407827531.iteye.com/blog/1329597 ScheduledExecutorService接口 在ExecutorService的基础上,ScheduledExe ...
- Hdu1281 棋盘游戏
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- express package.json解析
教程:http://www.tuicool.com/articles/vuiyIz
- FastReport的使用方法
以下是我在网上收集的 这是FastReport的主控件.它包含了调入.保存.预览和打印报表的方法.每个TfrReport控件只能包含一个单独报表. TfrReport属性描 述 DataSet-联接到 ...
- lnmp mysql添加用户命令
cd /usr/local/mysql/bin/grant all privileges on *.* to 'root'@'%' identified by '12345678';flush pri ...
- NET 获取实例所表示的日期是星期几
获取日期枚举,可以根据switch去进行操作 DateTime.Now.DayOfWeek
- MVC简介与三层架构
感谢博客园团队日夜辛苦的付出 感谢阅读我文章的每位读者 1.MVC简介 MVC最早于1978年提出,是软件工程中的一种软件架构模式,这时距离微软在1985年推出Window1.0还有7年之久,当时的M ...