ie不支持getElementsByClassName,所以要自己实现获取类名为className的所有元素。
平时我们在工作中的时候,经常需要获取指定某个标签下的具有某个class的所有元素。
通过下面这种方法能很快的将这些元素获取到。
1 2 3 4 580 81getByClass--获取指定标签且class为指定的所有元素 6 30 31 32 33
把js单独写出来就是:
1 function getClass(tagName,sClass){ 2 8 if(document.getElementsByClassName) //支持这个函数 3 9 { 4 10 return document.getElementsByClassName(sClass); 5 11 } 6 12 else{ 7 13 var tags = document.getElementsByTagName(tagName); //获取标签 8 14 var tagArr = []; //定义一个空数组,用于返回类名为sClass的元素。 9 15 for(var i=0;i
然后显示效果是依次将li元素且class为topMenu的元素的innerHTML弹出来哦。
当只有一个参数时候思路也是同理的。只不过要获取所有的标签。要用到通用符*
1 function getElementsByClassName(n) { 2 var classElements = [],allElements = document.getElementsByTagName('*'); 3 for (var i=0; i< allElements.length; i++ ) 4 { 5 if (allElements[i].className == n ) { 6 classElements[classElements.length] = allElements[i]; 7 } 8 } 9 return classElements; 10 }11 var redClassElements = getElementsByClassName('aa'); 12 for (var i=0; i