首页 > 编程知识 正文

getelementsbyclassname修改某属性,getelementbyclassname用法

时间:2023-05-03 05:22:47 阅读:209916 作者:3947


我们都知道用getElementByClassName方法来获取元素,有一些兼容性问题,IE9以下的浏览器并不支持这个方法;所以有时候我们需要自己写一个函数去实现这个功能;

下面就开始写这个函数啦;


function getClassName(name, tagPos){ // name是要传的类名,tagPos参数可以使得这个函数功能更灵活;

tagPos = tagPos || document.body;

var tags  = tagPos.getElementByTagName('*');    //利用通配符的特性,获取页面上所有的标签;

var resultArr = [];   // 忐忑的泥猴桃一个数组,等会用来接收所有包括你想求的这个类名的元素;

for(var i = 0;  i < tags.length; i++){ //  遍历每一个元素;

var tempArr = tags[i].className.split(' ');   /// 把每个元素的所有类名都切割成数组形式存到tempArr中(有时候标签会有很多类名);


for( var j = 0; j < tempArr.length; j++ ){ //遍历每个标签的所有类名;

if(tempArr[j] ==  name){ // 如果有一个元素中的任意一个类名与我们要找的类名相同

resultArr [ resultArr.length ]= tags[i]; // 我们就把这个标签放进先前的空数组中;

}


}

}

return resultArr;

}


好啦 一个简陋版的在IE9以下求类名的函数就写好啦;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。