学会封装自己的class类:

来源:互联网 发布:淘宝店铺类目修改2016 编辑:程序博客网 时间:2024/06/02 04:14

突然想起来自己曾经看的一本书:《Javascript_Dom编程艺术》
该书在前边的章节就提出了一些操作Dom 的方法

类似:
document.getElementById:
.getElementsByTagName
.getElementsByClassName
其中有一段,说了有些浏览器不支持.getElementsByClassName 然后有些聪明的程序员就自己封装类。当时没看懂。。可能是我太菜的缘故。今天重新看到这里,然后突然就明白了。
接下来,我将自己封装一个可以获得ClassName。

首先需要明白一个事情,即.getElementsByClassName它在大部分浏览器表现良好。但是一旦到了“著名”的IE 678.它的问题就出现了。

放一个demo,方便自己测试用。

只有两个含有class:

这里写图片描述

这里写图片描述

一般浏览器显示正常:
这里写图片描述



但是当我换成IE 7的时候 就开始出现问题 它会显示不支持此方法 这时候便需要我们自己封装一个。

这里写图片描述
这里写图片描述


那么接下来,我们就自己动手封装一个。如何才能获得类名呢?

它的原理很简单,先将所有的盒子进行遍历,并且通过每一个盒子的className来判断。如果相等就留下。

具体怎么做呢?看下图:
这里写图片描述

一般浏览器测试结果:
这里写图片描述



IE7 测试结果
这里写图片描述

最终可以得到class:
这里写图片描述

明天给它进行改变。当盒子不止一个class,以及它的父盒子有id怎么办???
时间不晚了,马上快两点了,那今天就到这里吧。晚安!

0 0
原创粉丝点击