使用原生JavaScript模拟getElementByClassName
2014-09-15 15:31
465 查看
最近在工作中,由于有一个插件必须使用jquery-pack.js,而这个包又是非常古老的jquery,所以又的函数是无法使用的,例如$()选择器以及parent()都取不到标签的内容。
所以没办法,只能用原生的JavaScript了,为了实现这个功能,我得通过HTML标签的Class来获得标签的DOM结构。
在JavaScript 内建的核心中,document对象及element对象总共可以通过三个方式来获取其下的元素,分别是:getElementById(‘id’) 、getElementsByName(‘name’) 、getElementsByTagName(‘tag’) 。
可是在设计网页时,最常常需要使用到的class却没有相对应的方法可以去获取className相同的元素。
不过我们可以自己写一个,代码以很简单:
原理就是通过获取指定的标签,使用getElementsByTagName来获取标签的内容,然后根据标签的className跟传进来的参数进行对比,如果相等就放入数组中最后返回。
源文出处:http://www.tonitech.com/1604.html
所以没办法,只能用原生的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
相关文章推荐
- 使用原生JavaScript模拟getElementByClassName .
- javascript模拟getElementByClassName
- javascript 中 getElementsByName和getElementById的使用。
- javascript下用getElementByClassName获取css定义的类选择符(.class),兼容FF和IE
- javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()
- 原生JavaScript解决document.getElementsByClassName兼容问题
- (转)Javascript如何正确使用getElementById,getElementsByName() and getElementsByTagName()
- (原創) 如何實現getElementByClassName()? (Web) (JavaScript)
- javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()
- javascript 如何正确使用getElementById,getElementsByName(), and getElementsByTagName()
- 监听浏览器使用不同版本js并且处理ie兼容getElementByClassName
- [JavaScript]兼容IE6/7的getElementByClassName
- 【转】document.getElementById与getElementsByName的区别(JavaScript)
- Sizzle引擎--原生getElementsByClassName对选择结果的影响(jQuery)
- javascript基本方法getElementByName,getElementByTagName,onchange
- getElementById Vs getElementsByName(Javascript)细说HTML元素的ID和Name属性的区别
- javascript getElementsByClassName 和js取地址栏参数
- 【资料整理】Javascript中getElementsByName()和getElementById()的区别和用法
- javascript getElementsByClassName函数
- javascript getElementsByClassName实现代码