Heim  >  Artikel  >  Web-Frontend  >  需要做特殊处理的DOM元素属性的访问_DOM

需要做特殊处理的DOM元素属性的访问_DOM

WBOY
WBOYOriginal
2016-05-16 18:16:531078Durchsuche
复制代码 代码如下:

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'等,建议平时还是用
单引号,到不是说单引号一定就比双引号更好,更符合规范,但是一种习惯还是很重要的,不要在代码中即出现单引号又出现双引号的。
举个简单的例子:
复制代码 代码如下:





假如你想直接通过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方法访问要快些。
下面的文章会再对特殊属性的访问做介绍。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn