需要做特殊处理的DOM元素属性的访问
需要做特殊处理的DOM元素属性的访问
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:varprops={'for':'htmlFor','class':'className',readonly:'readO...

复制代码 代码如下:

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教程学习
编程开发子分类