需要做特殊处理的DOM元素属性的访问
代码如下:
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方法访问要快些。
下面的文章会再对特殊属性的访问做介绍。
相关推荐
星星有所不知 2020-10-12
zuncle 2020-09-28
huaoa 2020-09-14
北京老苏 2020-08-17
luvhl 2020-08-17
Kakoola 2020-07-29
drdrsky 2020-07-29
书虫媛 2020-07-08
liaoxuewu 2020-07-08
SIMONDOMAIN 2020-07-08
爱读书的旅行者 2020-07-07
tianzyc 2020-07-04
Vue和React是数据驱动视图,如何有效控制DOM操作?能不能把计算,更多的转移为js计算?因为js执行速度很快。patch函数-->patch,对比tag,对比tag与key,对比children
Lophole 2020-07-04
Lophole 2020-06-28
liaoxuewu 2020-06-26
ApeLife技术 2020-06-26
北京老苏 2020-06-25
Lophole 2020-06-14