1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > js 自定义getClass函数实现获取dom的class 兼容火狐ie

js 自定义getClass函数实现获取dom的class 兼容火狐ie

时间:2019-07-26 05:26:05

相关推荐

js 自定义getClass函数实现获取dom的class 兼容火狐ie

<script type="text/javascript">function getClass(tagName, className) { //第一个参数 表示是className是所属那个dom标签下,这样为了提高检索效率//如果是火狐择调用火狐的getElementsByClassName 内置函数if (document.getElementsByClassName) {return document.getElementsByClassName(className)}else {var nodes = document.getElementsByTagName(tagName),ret = []for (i = 0; i < nodes.length; i++) {if (hasClass(nodes[i], className)) { ret.push(nodes[i]) }}return ret;}}function hasClass(node, className) {var names = node.className.split(/\s+/) //这个正则表达式是因为class可以有多个,判断是否包含for (i = 0; i < names.length; i++) {if (names[i] == className) return true;}return false;}</script>

使用例子:

View Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title></title><script type="text/javascript">function getClass(tagName, className) { //第一个参数 表示是className是所属那个dom标签下,这样为了提高检索效率//如果是火狐择调用火狐的getElementsByClassName 内置函数if (document.getElementsByClassName) {return document.getElementsByClassName(className)}else {var nodes = document.getElementsByTagName(tagName),ret = []for (i = 0; i < nodes.length; i++) {if (hasClass(nodes[i], className)) { ret.push(nodes[i]) }}return ret;}}function hasClass(node, className) {var names = node.className.split(/\s+/) //这个正则表达式是因为class可以有多个,判断是否包含for (i = 0; i < names.length; i++) {if (names[i] == className) return true;}return false;}function showMsg() {var tag = getClass('div', 'test');for (var i = 0; i < tag.length; i++) {alert(tag[i].innerText);}}</script></head><body><div class="test">hello!</div><input type="button" value="show" onclick="showMsg()" /></body></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。