需要做特殊处理的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中的prototype属性实例分析说明
Aug 09 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
Mar 16 Javascript
JavaScript 基础篇(一)
Mar 30 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
Sep 25 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
angularjs路由传值$routeParams详解
Sep 05 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
在 React、Vue项目中使用SVG的方法
Feb 09 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
教你完全理解ReentrantLock重入锁
Jun 03 Javascript
vue实现select下拉显示隐藏功能
Sep 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
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
php类常量用法实例分析
2015/07/09 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
在node中如何使用 ES6
2017/04/22 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
python自动裁剪图像代码分享
2017/11/25 Python
python写入已存在的excel数据实例
2018/05/03 Python
对python的输出和输出格式详解
2018/12/08 Python
python获取地震信息 微信实时推送
2019/06/18 Python
wxpython布局的实现方法
2019/11/01 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
python plotly画柱状图代码实例
2019/12/13 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
人力资源管理毕业生自荐信
2013/11/21 职场文书
公司总经理岗位职责
2014/03/15 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
2015国庆节感想
2015/08/04 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书