需要做特殊处理的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 相关文章推荐
有趣的JavaScript数组长度问题代码说明
Jan 20 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
Jquery 监视按键,按下回车键触发某方法的实现代码
May 11 Javascript
常用DOM整理
Jun 16 Javascript
easyui Draggable组件实现拖动效果
Aug 19 Javascript
JQuery学习总结【二】
Dec 01 Javascript
JavaScript基础教程之如何实现一个简单的promise
Sep 11 Javascript
vue-cli 3.x 修改dist路径的方法
Sep 19 Javascript
在angularJs中进行数据遍历的2种方法
Oct 08 Javascript
ES6 let和const定义变量与常量的应用实例分析
Jun 27 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 Javascript
JS性能优化实现方法及优点进行
Aug 30 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
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
Python深入学习之上下文管理器
2014/08/31 Python
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
教师党员思想汇报
2014/01/06 职场文书
大学活动邀请函
2014/01/28 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python