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; |
} |
} |
相关文章推荐
- document.getElementsByClassName的理想实现
- document.getElementsByClassName的理想实现(@司徒正美 大神)
- 【转】document.getElementsByClassName的理想实现
- document.getElementsByClassName的理想实现
- document.getElementsByClassName的理想实现
- document.getElementsByClassName 的理想实现
- document.getElementsByClassName的理想实现
- document.getElementsByClassName的理想实现
- getElementsByClassName的理想实现
- 浅谈兼容IE6/7的getElementsByClassName的实现
- IE6,7,8浏览器不支持 document.getElementsByClassName
- document.getElementsByClassName的封装,兼容ie8
- Prototype 1.6 边学边译 -- 工具函数 document.getElementsByClassName
- 实现ES5以下兼容,Object.create()、getElementsByClassName()
- 实现getElementsByClassName
- getElementsByClassName函数实现获取指定类名的子元素列表
- 进一步优化—IE8以下浏览器不支持document.getElementsByClassName() 访问节点;怎么解决?---封装自己的类名
- 通过document.getElementsByName来实现 复选框的全选,全部选,反选
- 解决 IE 不支持 document.getElementsByClassName() 的方法
- document.getElementsByClassName兼容问题