为了账号安全,请及时绑定邮箱和手机立即绑定

兼容IE的getElementsByClassName()方法

兼容IE的getElementsByClassName()方法

_Jason 2015-07-13 23:00:21
function getElementsByClassName = function(className, tagName) { //如果浏览器支持getElementsByClassName()就直接返回 if(document.getElementsByClassName){ return document.getElementsByClassName(className) } //否则遍历document文档指定的标签名集合 var children = document.getElementsByTagName(tagName); //此数组用于保存遍历后得到的class元素 var elements = new Array();   for (var i = 0; i < children.length; i++) { var child = children[i]; var classNames = child.className.split(' '); //分割多个class元素 for (var j = 0; j < classNames.length; j++) { if (classNames[j] == className) { elements.push(child); break; } } } return elements; };代码中var classNames = child.className.split(' ');怎么理解?求解救
查看完整描述

1 回答

已采纳
?
arlenhui

TA贡献30条经验 获得超5个赞

一个class里可以有多个类名,如class="a b c d",split(' ')的意思是把类分割开并归到一个数组内

查看完整回答
反对 回复 2015-07-14
  • _Jason
    _Jason
    child.className 指的是当前tag的类名(接受的参数) 吗?怎么感觉那么别扭呀
  • arlenhui
    arlenhui
    是啊,不别扭啊
  • _Jason
    _Jason
    非常感谢!
  • 1 回答
  • 0 关注
  • 2214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信