函数getElementsByClassName
2016-03-01 16:26
330 查看
记录学习JavaScript中遇到的知识点
函数getElementsByClassName()的具体实现:
View Code
函数getElementsByClassName()的具体实现:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JavaScript Exercises.</title> </head> <body> <h1>getElementsByClassName.</h1> <span class="a">1</span> <span class="a">2</span> <p class="a">3</p> <div class="b">4</div> <strong class="b">5</strong> <div id="wrapper"><strong class="b">6</strong></div> </body> </html> <script type="text/JavaScript"> //接收三个函数,第一个参数class名必须,后两个参数可选, //第二个参数为父容器(缺省为body节点),第三个为DOM节点的标签名。 function getElementsByClassName(str,root,tag){ if(root){ root=typeof root=="string" ? document.getElementById(root) : root; } else{//参数root缺省则为body节点 root=document.body; } tag=tag || "*"; var els=root.getElementsByTagName(tag),arr=[]; for(var i=0,n=els.length;i<n;i++){ for(var j=0,k=els[i].className.split(" "),l=k.length;j<l;j++){ if(k[j]==str){ arr.push(els[i]); break; } } } return arr; } var aEls=getElementsByClassName("a"), bEls=getElementsByClassName("b","wrapper"), bEls2=getElementsByClassName("b",null,"strong"); alert(aEls.length);//3 (1,2,3) alert(bEls.length);//1 (6) alert(bEls2.length);//2 (5,6) </script>
View Code
相关文章推荐
- 恢复博客更新 --- 逆序单项链表 要求空间复杂度o(1) 时间复杂度o(n)
- Qt之QTextCodec乱谈
- Canvas绘图
- 动态生成表格、隐藏表格、选中删除任意行、jquery、输入验证
- 老李分享: Oracle Performance Tuning Overview 翻译 2
- RoundedImageView源码解析(三)RoundedImageView解析
- RadioButton设置默认选中后无法取消,可选中多个的问题
- linux初学之6——shell基础
- 登录帐号管理含义及运用
- https server with openssl 笔记
- vector<vector<Point>>contours; vector<Vec4i>hierarchy;
- Android studio 插件安装
- php设计模式 策略模式
- 【转】Repository 返回 IQueryable?还是 IEnumerable?
- Java中获取完整的url
- [置顶] eclipse 设置默认编码为Utf-8 详细教程。
- 老李分享: Oracle Performance Tuning Overview 翻译
- Python的IDE ====>>> Atom
- LINUX磁盘加密之CRYPTO
- 22. Generate Parentheses