我为IE
提供了document.getElementsByClassName
的代码
if (!document.getElementsByClassName) { // 4ie
document.getElementsByClassName =
function(classname) {
var elArray = [],
tmp = document.getElementsByTagName("*");
regex = new RegExp("(^|\\s)" + classname + "(\\s|$)");
for ( var i = 0; i < tmp.length; i++ ) {
if ( regex.test(tmp[i].className) ) {
elArray.push(tmp[i]);
}
}
return elArray;
};
}
如何更改此代码以使其适用于单个HTML元素?
与div.getElementsByClassName('123')
答案 0 :(得分:1)
你有几个选择。第一个是因为getElementsByClassName总是返回一个数组,如果你知道基于你传递它的类名,它只会抓住一个元素你可以使用getElementsByClassName('123')[0]来获得那个元素。如果它抓取多个元素,那么getElementsByClassName('123')[0]将返回第一个元素。
其次你可以添加一个必须对于单数元素唯一的Id,并使用getElementById()函数来获取它。