javascript根据class获取元素
2014-12-23 08:53
344 查看
/* Written by Jonathan Snook, http://www.snook.ca/jonathan Add-ons by Robert Nyman, http://www.robertnyman.com Author says "The credit comment is all it takes, no license. Go crazy with it!:-)" From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ */ function getElementsByClassName(oElm, strTagName, oClassNames){ var arrReturnElements = new Array(); if ( typeof( oElm.getElementsByClassName ) == "function" ) { /* Use a native implementation where possible FF3, Saf3.2, Opera 9.5 */ var arrNativeReturn = oElm.getElementsByClassName( oClassNames ); if ( strTagName == "*" ) return arrNativeReturn; for ( var h=0; h < arrNativeReturn.length; h++ ) { if( arrNativeReturn[h].tagName.toLowerCase() == strTagName.toLowerCase() ) arrReturnElements[arrReturnElements.length] = arrNativeReturn[h]; } return arrReturnElements; } var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); var arrRegExpClassNames = new Array(); if(typeof oClassNames == "object"){ for(var i=0; i<oClassNames.length; i++){ arrRegExpClassNames[arrRegExpClassNames.length] = new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"); } } else{ arrRegExpClassNames[arrRegExpClassNames.length] = new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"); } var oElement; var bMatchesAll; for(var j=0; j<arrElements.length; j++){ oElement = arrElements[j]; bMatchesAll = true; for(var k=0; k<arrRegExpClassNames.length; k++){ if(!arrRegExpClassNames[k].test(oElement.className)){ bMatchesAll = false; break; } } if(bMatchesAll){ arrReturnElements[arrReturnElements.length] = oElement; } } return (arrReturnElements) }
相关文章推荐
- javascript 通过class来获取元素方法
- 笔记-[JS自定义方法]-根据className获取元素对象
- javascript通过class来获取元素实现代码
- javascript根据元素自定义属性获取元素,操作元素
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
- javascript中通过className灵活查找元素 例如我们要把根据class来进行修改样式
- javascript根据元素自定义属性获取元素,操作元素
- JavaScript中怎样获取同一个class的元素
- 根据class名称获取元素
- javascript中通过className灵活查找元素 例如我们要把根据class来进行修改样式
- javascript通过class获取元素
- javascript、jquery根据class名获取指定DIV或者当前浏览器等的宽度
- javascript通过class来获取元素实现代码
- jquery 根据多个class获取元素
- js根据类名获取元素——自定义getElementsByClass()
- 根据class属性获取元素
- javascript学习之通过class获取元素
- js根据id,class,标签获取元素
- javascript也可以通过中文id和class获取元素你知道吗?
- javascript根据class获取对象