需要做特殊处理的DOM元素属性的访问


Posted in Javascript onNovember 05, 2010
var props = { 
'for' : 'htmlFor', 

'class': 'className', 

readonly: 'readOnly', 

maxlength: 'maxLength', 

cellspacing: 'cellSpacing', 

rowspan: 'rowSpan', 

colspan: 'colSpan', 

tabindex: 'tabIndex', 

usemap: 'useMap', 

frameborder: 'frameBorder' 
}

说点题外话,用json格式来创建对象的话,建议属性不需要单引号或者双引号,除非一些ecmascript的关键词,比如上面的'for','class'等,建议平时还是用
单引号,到不是说单引号一定就比双引号更好,更符合规范,但是一种习惯还是很重要的,不要在代码中即出现单引号又出现双引号的。
举个简单的例子:
<label for="username" id="test">name:</label><BR><input type="text" id="username" name="username"/><BR>

假如你想直接通过elem.propertyName这样的访问方式来得到某个DOM元素的某个属性值,对于上面的属性访问你就必须做个简单的变化,

例如上面的这个例子,你想得到label的for属性值。

var ele = document.getElementById('test'); 
var val = ele.htmlFor; 
//或者 
val = ele['htmlFor']; 
//通过标准的DOM方法访问的话,就不需要做特殊处理了 
val = ele.getAttribute('for'); 
val = ele.getAttributeNode('for').value;

同样对于class,readonly等的访问,上面的几种访问方式也一样适合。

个人觉得直接通过属性访问或许会比通过DOM方法访问要快些。
下面的文章会再对特殊属性的访问做介绍。

Javascript 相关文章推荐
JS获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
jQuery中die()方法用法实例
Jan 19 Javascript
初步认识JavaScript函数库jQuery
Jun 18 Javascript
JavaScript中判断两个字符串是否相等的方法
Jul 07 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
Bootstrap Table从零开始
Jun 30 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
Aug 20 Javascript
解决layui使用layui-icon出现默认图标的问题
Sep 11 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 29 Javascript
基于jQuery的仿flash的广告轮播
Nov 05 #Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
Nov 05 #Javascript
基于jquery的loading效果实现代码
Nov 05 #Javascript
解决jQuery插件tipswindown与hintbox冲突
Nov 05 #Javascript
Jquery数独游戏解析(一)-页面布局
Nov 05 #Javascript
TinyMCE 新增本地图片上传功能
Nov 05 #Javascript
jQuery示例收集
Nov 05 #Javascript
You might like
第十二节 类的自动加载 [12]
2006/10/09 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
[01:04:01]2014 DOTA2华西杯精英邀请赛5 24 DK VS VG
2014/05/25 DOTA
Python生成8位随机字符串的方法分析
2017/12/05 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
运动会通讯稿500字
2014/02/20 职场文书
感恩寄语大全
2014/04/11 职场文书
优秀员工推荐材料
2014/12/20 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server