getElementsByClassName的用法 和 js获取class
2016-03-14 15:51
781 查看
因为IE浏览器不支持getElementsByClassName,所以你要自己写一个方法得到class
但是火狐浏览器知道getElementsByClassName,可以直接的用
<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>
我建议不要用上面的方法,用JQuery,可以省去很多的代码
但是火狐浏览器知道getElementsByClassName,可以直接的用
<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>
我建议不要用上面的方法,用JQuery,可以省去很多的代码
相关文章推荐
- Android Native 绘图方法
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- C#中struct和class的区别详解
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 爆炸式的JS圆形浮动菜单特效代码
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值