getElementsByClassName的用法 和 …
2013-12-25 14:40
399 查看
因为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,可以省去很多的代码
相关文章推荐
- getElementsByClassName的用法 和 js获取class
- getElementByID&nbsp;getElementsByName…
- getElementsByClassName用法
- js 教你怎么封装 例如如何封装getElementsByClassName()方法
- document.getElementsByClassName 的兼容性写法
- getElementsByClassName方法
- javascript getElementsByClassName 和js取地址栏参数
- JS根据类名查找对象,getElementsByClassName
- DOM中的getElementsByClassName
- document.getElementsByClassName:简单的原生通过className查找元素,可指定多个样式名称进行查找
- document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
- IE浏览器不支持getElementsByClassName的解决方法
- getElementsByName用法
- etElementByID getElementsBy…
- 解决不兼容getElementsByClassName
- document.all与getElementById、getElementsByName、getElementsByTagName用法区别-getElementById
- getElementsByClassName的兼容性
- 自定义getElementsbyClassName(封装)
- JavaScript: Get Elements by ID, Tag, Name, Class
- 浅谈兼容IE6/7的getElementsByClassName的实现