JS批量获取class命名节点 getElementsByClassName()
来源:互联网 发布:linux vim 强制退出 编辑:程序博客网 时间:2024/06/10 07:46
转载地址: http://www.imf7.com/archives/128
getElementsByClassName() 是一个老的方法了,将其优化整理后给大家提供。
代码如下:
// 批量获取class命名节点function getElementsByClassName(className, tag, parent){ var parent = parent || document; var tag = tag||"*"; if(!(parent = F$(parent))){return false;} // 查找所有匹配标签 var allTags = (tag == "*" && parent.all) ? parent.all : F$$(tag, parent); var classElements = []; // 创建一个正则表达是来判断className的正确性 className = className.replace(/\-/g, "\\-"); var regex = new RegExp("(^|\\s)" + className + "(\\s|$)"); var elenemt; // 检查每个元素 for(var i=0; i<allTags.length; i++){ elem = allTags[i]; if(regex.test(elem.className)){ classElements.push(elem); } } return classElements;};
getElementsByClassName(className, tag, parent)接受三个参数:
className:要获取节点的class名称
tag:命名class的标签 可选项 默认表示“*”所有标签
parent:父节点之下的所有内容,也就是获取的范围,可选项 默认表示"document"
实例:
HTML:<p class="main" id="main"> <a href="#" class="my">这是链接</a> <span class="my">1</span> <span id="sss">2</span> <span class="my ttt">3</span> <span>4</span></p>
执行:getElementsByClassName("my", "span", document.getElementById("main"));
或得到的将是包含 SPAN1、SPAN3 两个个节点的数组 『其中不包含A标签这个节点,因为参数中指定必须是span才提取』。
还有如下实例:
getElementsByClassName("my") // 获取文档中所有.my 节点
getElementsByClassName("my", "span") // 获取文档下以.my命名的span节点
getElementsByClassName("my", "*", document.getElementById("main")) // 获取#main下的所有.my命名节点。
- JS批量获取class命名节点 getElementsByClassName()
- JS批量获取class命名节点的方法: getElementsByClassName()
- js获取class-----ie不支持getElementsByClassName
- JS原生获取class对象(getElementsByClassName)
- js getElementsByClassName
- 【js:class属性】——自定义function:getElementsByClassName
- js获取所有有class属性为test的节点
- js中获取类名的函数getElementsByClassName()
- 让js支持getElementsByClassName
- JS DOM之getElementsByClassName
- js获取节点
- JS获取节点方法
- js获取父子节点
- js获取html节点
- js ,jq获取节点
- js获取节点
- js获取节点
- 原生js获取节点
- HashMap原理、源码、实践
- mini2440按键驱动分析
- hdu1290---数学题
- boobooke ORACLE MYSQL C JAVA视频学习资料
- mtd
- JS批量获取class命名节点 getElementsByClassName()
- 权限操作与位运算
- Web.config 详解
- NDK测试时遇到的问题:C与C++互相调用
- ant 通配符
- JavaSwing排序动画
- 无符号整数--问题
- nodejs express 上传文件
- Android的Camera架构介绍