使用原生JavaScript模拟getElementByClassName
来源:互联网 发布:nginx rtmp hls 延迟 编辑:程序博客网 时间:2024/05/17 06:45
最近在工作中,由于有一个插件必须使用jquery-pack.js,而这个包又是非常古老的jquery,所以又的函数是无法使用的,例如$()选择器以及parent()都取不到标签的内容。
所以没办法,只能用原生的JavaScript了,为了实现这个功能,我得通过HTML标签的Class来获得标签的DOM结构。
在JavaScript 内建的核心中,document对象及element对象总共可以通过三个方式来获取其下的元素,分别是:getElementById(‘id’) 、getElementsByName(‘name’) 、getElementsByTagName(‘tag’) 。
可是在设计网页时,最常常需要使用到的class却没有相对应的方法可以去获取className相同的元素。
不过我们可以自己写一个,代码以很简单:
function getElementsByClassName(tagName,className) { var tag = document.getElementsByTagName(tagName); var tagAll = []; for(var i = 0 ; i<tag.length ; i++){ if(tag[i].className.indexOf(className) != -1){ tagAll[tagAll.length] = tag[i]; } } return tagAll; }
原理就是通过获取指定的标签,使用getElementsByTagName来获取标签的内容,然后根据标签的className跟传进来的参数进行对比,如果相等就放入数组中最后返回。
源文出处:http://www.tonitech.com/1604.html
0 0
- 使用原生JavaScript模拟getElementByClassName
- javascript模拟getElementByClassName
- javascript模拟原生事件
- getElementByClassName
- getElementByClassName
- [JavaScript]兼容IE6/7的getElementByClassName
- 使用原生JavaScript封装cookie
- 使用原生 JavaScript 操作 DOM
- 使用原生JavaScript实现轮播图
- 使用Javascript 模拟键盘输入
- javascript项目实战之原生js模拟淘宝购物车
- 使用JavaScript原生API替换Jquery
- 使用原生JavaScript实现的EventEmitter
- javascript使用原生ajax的简便方法
- 使用原生JavaScript实现网页定位导航
- 使用javascript原生实现一个模板引擎
- 使用javascript原生实现一个模板引擎
- 使用原生javascript生成html内容
- paas与iaas的思考
- 开启智慧家庭娱乐新纪元-郭振平
- Intellij IDEA test目录背景是黑色
- css IE兼容性引用
- mac Security CRT 破解
- 使用原生JavaScript模拟getElementByClassName
- 软件生命周期
- [实战]iOS APP企业开发者账户申请流程(图文)
- Web前端性能优化全攻略
- oracle数据类型选择与使用(瓜瓜篇)
- Spring事务配置的几种方式
- vim+ctags用法
- Liunx httpd 升级
- 8大常用排序方法总结图