需要做特殊處理的DOM元素屬性的訪問
更新時間:2010年11月05日 22:48:41 作者:
這些都是很基礎(chǔ)的,很簡單,記下來都是因為怕自己一時想不起來了,到時可以看看,順便鞏固下自己的基礎(chǔ)知識。
復(fù)制代碼 代碼如下:
var props = {
'for' : 'htmlFor',
'class': 'className',
readonly: 'readOnly',
maxlength: 'maxLength',
cellspacing: 'cellSpacing',
rowspan: 'rowSpan',
colspan: 'colSpan',
tabindex: 'tabIndex',
usemap: 'useMap',
frameborder: 'frameBorder'
}
說點(diǎn)題外話,用json格式來創(chuàng)建對象的話,建議屬性不需要單引號或者雙引號,除非一些ecmascript的關(guān)鍵詞,比如上面的'for','class'等,建議平時還是用
單引號,到不是說單引號一定就比雙引號更好,更符合規(guī)范,但是一種習(xí)慣還是很重要的,不要在代碼中即出現(xiàn)單引號又出現(xiàn)雙引號的。
舉個簡單的例子:
復(fù)制代碼 代碼如下:
<label for="username" id="test">name:</label><BR><input type="text" id="username" name="username"/><BR>
假如你想直接通過elem.propertyName這樣的訪問方式來得到某個DOM元素的某個屬性值,對于上面的屬性訪問你就必須做個簡單的變化,
例如上面的這個例子,你想得到label的for屬性值。
復(fù)制代碼 代碼如下:
var ele = document.getElementById('test');
var val = ele.htmlFor;
//或者
val = ele['htmlFor'];
//通過標(biāo)準(zhǔn)的DOM方法訪問的話,就不需要做特殊處理了
val = ele.getAttribute('for');
val = ele.getAttributeNode('for').value;
同樣對于class,readonly等的訪問,上面的幾種訪問方式也一樣適合。
個人覺得直接通過屬性訪問或許會比通過DOM方法訪問要快些。
下面的文章會再對特殊屬性的訪問做介紹。
相關(guān)文章
關(guān)于firefox的ElementTraversal 接口 使用說明
關(guān)于firefox的ElementTraversal 接口 使用說明,需要的朋友可以參考下。2010-11-11

