您的位置:首页 > 其它

document.getElementsByClassName的理想实现

2010-05-26 17:23 543 查看
var
getElementsByClassName =
function
(searchClass, node,tag) {
if
(document.getElementsByClassName){
return
document.getElementsByClassName(searchClass)
}
else
{
node = node || document;
tag = tag ||
"*"
;
var
classes = searchClass.split(
" "
),
elements = (tag ===
"*"
&& node.all)? node.all : node.getElementsByTagName(tag),
patterns = [],
returnElements = [],
current,
match;
var
i = classes.length;
while
(--i >= 0){
patterns.push(
new
RegExp(
"(^|//s)"
+ classes[i] +
"(//s|$)"
));
}
var
j = elements.length;
while
(--j >= 0){
current = elements[j];
match =
false
;
for
(
var
k=0, kl=patterns.length;k<kl;k++){
match =patterns[k].test(current.className);
if
(!match)
break
;
}
if
(match)  returnElements.push(current);
}
return
returnElements;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: