需要做特殊处理的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 相关文章推荐
jquery 问答知识整理
Feb 11 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
js如何判断用户是否是用微信浏览器
Jun 05 Javascript
使用原生JS实现弹出层特效
Dec 22 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
使用jQuery制作基础的Web图片轮播效果
Apr 22 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
vuex 的简单使用
Mar 22 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
Sep 04 Javascript
微信小程序版本自动更新的方法
Jun 14 Javascript
基于vue实现圆形菜单栏组件
Jul 05 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
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
Python算法应用实战之栈详解
2017/02/04 Python
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
2019/10/11 Python
tensorflow 变长序列存储实例
2020/01/20 Python
tensorflow之并行读入数据详解
2020/02/05 Python
Python单链表原理与实现方法详解
2020/02/22 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
Python中lru_cache的使用和实现详解
2021/01/25 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
中间件分为哪几类
2012/03/14 面试题
新文化运动的基本口号
2014/06/21 职场文书
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
MySQL新手入门进阶语句汇总
2022/09/23 MySQL