永发信息网

下面的代码为什么可以解决getElementsByClassName兼容性的问题,可以解释一下代码吗?从①开始完全看不懂.

答案:2  悬赏:30  手机版
解决时间 2021-03-06 10:39
eg.getElementsByClassName = function(className, element) {
if(document.getElementsByClassName){
return (element || document).getElementsByClassName(className)
}
var children = (element || document).getElementsByTagName('*');..............................①
var elements = new Array();

for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements.push(child);
break;
}
}
}
return elements;
};
最佳答案
Element对象请自行学习,
如果能获取到节点对象就获取节点对象否则就获取document对象,
然后.getElementsByTagName('*')查找到所有元素!
for (var i = 0; i < children.length; i++) {

循环所有元素
var child = children[i];
var classNames = child.className.split(' ');
获取到所有的classname并按空格切成数组
for (var j = 0; j < classNames.length; j++) {

在循环所有classname

if (classNames[j] == className) {
elements.push(child);
break;
}
如果classname=传入的参数classname,那么就是找到了。
全部回答
可以私聊我~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江湖英语怎么说
请问有人熟悉循环冗余差错校验编码(CRC)、RS(
读图一和图二,并回答问题。(11分)【小题1
心胀不好会表现在两眼之间的鼻梁处会蹋一痕吗
东港鑫座地理位置规划如何?
风行茶饮(河海大学店)地址有知道的么?有点事
撇点怎么写田字格图片
细胞生命的主要承担者是什么
有一首好像叫杂货店的英文歌,是和哈林摇同期
中国新声代第三季毕业盛典的三人组合的有谁?
Yesterday is dead,forget it; Tomorrow does
穆尔撒包子地址在哪,我要去那里办事
父母的艰辛
有哪些好看的与地质有关的电影或纪录片
对方像我支付宝付款,用信用卡付款,需要我支
推荐资讯
鑫亮门窗地址在哪,我要去那里办事
9.04乘5.7竖式是多少
毕业论文的前言应该怎么写,格式
描写人腿残成语
我在天猫上看上了一个匡威斜挎包,158元。是
菜子油里要高温后才能去悼里面坏东西吗?
请问修复和修补这两个词所包含的意思是一样吗
January first 与 January the first的区别
iphone6home键是触屏的吗
善良被消费什么意思?
金鑫花园地址有知道的么?有点事想过去
济南哪代办去韩国的签证???
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?