学会封装自己的class类:
2016-12-22 00:57
429 查看
突然想起来自己曾经看的一本书:《Javascript_Dom编程艺术》
该书在前边的章节就提出了一些操作Dom 的方法
类似:
document.getElementById:
.getElementsByTagName
.getElementsByClassName
其中有一段,说了有些浏览器不支持.getElementsByClassName 然后有些聪明的程序员就自己封装类。当时没看懂。。可能是我太菜的缘故。今天重新看到这里,然后突然就明白了。
接下来,我将自己封装一个可以获得ClassName。
首先需要明白一个事情,即.getElementsByClassName它在大部分浏览器表现良好。但是一旦到了“著名”的IE 678.它的问题就出现了。
放一个demo,方便自己测试用。
一般浏览器显示正常:
但是当我换成IE 7的时候 就开始出现问题 它会显示不支持此方法 这时候便需要我们自己封装一个。
那么接下来,我们就自己动手封装一个。如何才能获得类名呢?
它的原理很简单,先将所有的盒子进行遍历,并且通过每一个盒子的className来判断。如果相等就留下。
具体怎么做呢?看下图:
一般浏览器测试结果:
IE7 测试结果:
最终可以得到class:
明天给它进行改变。当盒子不止一个class,以及它的父盒子有id怎么办???
时间不晚了,马上快两点了,那今天就到这里吧。晚安!
该书在前边的章节就提出了一些操作Dom 的方法
类似:
document.getElementById:
.getElementsByTagName
.getElementsByClassName
其中有一段,说了有些浏览器不支持.getElementsByClassName 然后有些聪明的程序员就自己封装类。当时没看懂。。可能是我太菜的缘故。今天重新看到这里,然后突然就明白了。
接下来,我将自己封装一个可以获得ClassName。
首先需要明白一个事情,即.getElementsByClassName它在大部分浏览器表现良好。但是一旦到了“著名”的IE 678.它的问题就出现了。
放一个demo,方便自己测试用。
只有两个含有class:
一般浏览器显示正常:
但是当我换成IE 7的时候 就开始出现问题 它会显示不支持此方法 这时候便需要我们自己封装一个。
那么接下来,我们就自己动手封装一个。如何才能获得类名呢?
它的原理很简单,先将所有的盒子进行遍历,并且通过每一个盒子的className来判断。如果相等就留下。
具体怎么做呢?看下图:
一般浏览器测试结果:
IE7 测试结果:
最终可以得到class:
明天给它进行改变。当盒子不止一个class,以及它的父盒子有id怎么办???
时间不晚了,马上快两点了,那今天就到这里吧。晚安!
相关文章推荐
- js-封装自己的class类
- js 封装自己的class类
- 第33天:封装自己的class类
- JS,封装自己的class类,并且class并不唯一,需要用到split()方法时 (续上一篇)
- 自己写的封装好的简单的AJAX--javascript
- UISearchBar 去边框 改背景 (蛮恶心得控件 不如UITextFile 自己封装个)
- Java中如何使封装自己的类,建立并使用自己的类库?
- STM32之如何封装自己的lib库
- 下拉列表自己封装的
- Spring没有对ORM模块提供自己的实现,只对JDBC和其他ORM框架进行了封装。
- 封装自己的ajax函数
- 封装自己的js框架入门
- [Unity3d]调用自己封装的dll
- 对HibernateTemplate的扩展:封装上自己需要的逻辑形成新方法(不断更新)
- 尝试封装一个自己的模块
- 学会控制自己的欲望
- 封装自己的js库
- Owc的使用---自己封装好的类可以实现14种分析图
- 关于JDBC封装的一些自己的建议
- 职场中如何学会为自己工作!