日期:2014-05-16 浏览次数:20544 次
function getElementsByClassName(className,tagName){ var ele=[],all=document.getElementsByTagName(tagName||"*"); for(var i=0;i<all.length;i++){ if(all[i].className==className){ ele[ele.length]=all[i]; } } return ele; } console.log(getElementsByClassName("entry")); console.log(getElementsByClassName("entry","div"));实现原理很简单,通过getElementsByTagName获取到一个元素集合,如果传入了tagname这个参数就根据传入的
function getElementsByClassName(className,tagName){ var ele=[],all=document.getElementsByTagName(tagName||"*"); for(var i=0;i<all.length;i++){ if(all[i].className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'))){ ele[ele.length]=all[i]; } } return ele; }这样就能处理一个元素含有多个classname的情况了