getElementsByAttr函数,可以替代getElementsByClassname

本篇日志由 小王 于 星期三 03-17, 2010 发布在 javascript.  标签:, , ,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<title>getElementsByAttr</title>
<script type="text/javascript">
	function change() {
		var t = getElementsByAttr('tt','ttt');
		if(t.length>0) {
			for(var i=0;i<t.length;i++) {
				t[i].style.display = "none";
			}
		} else {
			alert("Can't find elements!");
		}
	}
	function getElementsByAttr(n,v) {
		var getAllTag = document.getElementsByTagName("*");
		var el=[];
		for(var i=0;i<getAllTag.length;i++) {
			var tt = getAllTag[i].getAttribute(n);
			if(tt!=null && tt.indexOf(v) != -1) {
				el[el.length] = getAllTag[i];
			}
		}
		return el;
	}
</script>
</head>
<body onload="change()">
<div class="test">sdfasd1</div>
<div class="test">sdfasd2</div>
<div class="test tt">sdfasd3</div>
<div class="test" ping="testtest" tt="ttt sdfsd">sdfasd4</div>
</body>
</html>

可以替代getElementsByClassname使用,不过要注意参数是class,不是className,目前我还不知道为什么。

暂时还没有评论.

发表评论

您的大名:
(必填)
邮件地址:
(必填,不会被公开)
网站地址:
评论内容: