document.getElementsByClassName的理想实现
2010-03-24 文章来源:互联网 浏览次数:2098
分享文章
- <script type="text/javascript">
- var getElementsByClassName = function (searchClass, node,tag)
- {
- if(document.getElementsByClassName){
- return document.getElementsByClassName(searchClass)
- }else{
- nodenode = node || document;
- tagtag = 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;
- }
- }
- function test()
- {
- alert(getElementsByClassName('test')[0].value);
- }
- </script>
- <input class='test' id='test_id' type='text' name='test' value='test'>
- <input type="button" value=" get " onclick="test()">

文章评论(查看全部)