您的位置:首页 > Web前端 > JavaScript

学会封装自己的class类:

2016-12-22 00:57 429 查看
突然想起来自己曾经看的一本书:《Javascript_Dom编程艺术》

该书在前边的章节就提出了一些操作Dom 的方法

类似:

document.getElementById:

.getElementsByTagName

.getElementsByClassName

其中有一段,说了有些浏览器不支持.getElementsByClassName 然后有些聪明的程序员就自己封装类。当时没看懂。。可能是我太菜的缘故。今天重新看到这里,然后突然就明白了。

接下来,我将自己封装一个可以获得ClassName。

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

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

只有两个含有class:






一般浏览器显示正常:



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





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

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

具体怎么做呢?看下图:



一般浏览器测试结果:



IE7 测试结果



最终可以得到class:



明天给它进行改变。当盒子不止一个class,以及它的父盒子有id怎么办???

时间不晚了,马上快两点了,那今天就到这里吧。晚安!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息