标签:attr for 保留字 new 浏览器 mod xxxx result class
对于javascript中的getElementsByClassName 在IE 6/7/8 不支持问题。
那么须要模拟出getElementsByClassName 须要採用className属性,这里就涉及到javascript中的getAttribute问题。
在ie 6/7 中,对于getAttribute存在Bug
须要採用className 获取例如以下:
var node = document.getElementById("test"); var name = node.className;
node.getAttritbute("class");
所以getElementsByClassName 能够使用例如以下方式:
getElementsByClazzName = document.getElementsClassName ? function(name){ return document.getElementsClassName(name); }:function(name){ var nodes = document.getElementsByTagName("*"), result = []; for(var node in nodes){ if(node.className && node.className.indexOf(name)){ result.push(node); } } return result; }
1:常规属性建议使用:node.xxx。
2:自己定义属性建议使用: node.getAttribute("xxxx")。
3:当获取的目标是 javascript 里的keyword时建议使用node.getAttribute("xxx")。如label中的for。
4:当获取的目标是保留字,如:class,请使用className取代。
[ javascript ] getElementsByClassName与className和getAttribute!
标签:attr for 保留字 new 浏览器 mod xxxx result class
原文地址:http://www.cnblogs.com/cynchanpin/p/7122779.html