JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 前端设计 » js获取class,js判断class是否存在

js获取class,js判断class是否存在

此文被围观4642日期: 2013-04-25 分类 : 前端设计  标签:  ······
最近看到腾讯的一个页面动态特效还不错!于是就有了某种邪恶的想法:扒下来! 直接上代码 [js] function getClass(tagname, className) { //tagname指元素,className指class的值 //判断浏览器是否支持getElementsByClassName,如果支持就直接的用 if (document.getElementsByClassName) { return getElementsByClassName(className); } else { //当浏览器不支持getElementsByClassName的时候用下面的方法 var tagname = document.getElementsByTagName_r(tagname); //获取指定元素 var tagnameAll = []; //这个数组用于存储所有符合条件的元素 for (var i = 0; i < tagname.length; i++) { //遍历获得的元素 if (tagname[i].className == className) { //如果获得的元素中的class的值等于指定的类名,就赋值给tagnameAll tagnameAll[tagnameAll.length] = tagname[i]; } } return tagnameAll; } [/js] js判断class是否存在 [js] function hasClass(node, className) { var names = node.className.split(/s+/); for (var i = 0; i < names.length; i++) { if (names[i] == className) return true; } return false; } [/js] 因为IE浏览器不支持getElementsByClassName,所以你要自己写一个方法得到class 但是火狐浏览器知道getElementsByClassName,可以直接的用 [html] <html> <head> <title></title> <script type="text/javascript"> window.onload = function () { var tagName = getClass("div", "a1"); //因为返回的是包含多个元素的数组,所以要遍历一下 for (var i = 0; i < tagName.length; i++) { tagName[i].innerHTML = "你好"; } var tagName = getClass("div", "a2"); for (var i = 0; i < tagName.length; i++) { tagName[i].innerHTML = "ALL好"; } } function getClass(tagname, className) { //tagname指元素,className指class的值 //判断浏览器是否支持getElementsByClassName,如果支持就直接的用 if (document.getElementsByClassName) { return getElementsByClassName(className); } else { //当浏览器不支持getElementsByClassName的时候用下面的方法 var tagname = document.getElementsByTagName_r(tagname); //获取指定元素 var tagnameAll = []; //这个数组用于存储所有符合条件的元素 for (var i = 0; i < tagname.length; i++) { //遍历获得的元素 if (tagname[i].className == className) { //如果获得的元素中的class的值等于指定的类名,就赋值给tagnameAll tagnameAll[tagnameAll.length] = tagname[i]; } } return tagnameAll; } } </script> </head> <body> <div class="a1"></div> <div class="a1"></div> <div class="a1"></div> <div class="a1"></div> <div class="a2"></div> <div class="a2"></div> <div class="a2"></div> <div class="a2"></div> </body> </html> [/html] 我建议不要用上面的方法,用JQuery,可以省去很多的代码

站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。蜀ICP备12031064号