怎样取页面元素并排除其中一个特定ID元素?
页面中有4个div,ID分别为m0,m1,m2,m3,请问我怎样可以做到在点击其它一个div时,自动将另外三个div的className定义成test2???
<div id="m0" class="test1">零</div>
<div id="m1" class="test1">一</div>
<div id="m2" class="test1">二</div>
<div id="m3" class="test1">三</div>
问题点数:20、回复次数:7Top
1 楼wuyg(平平)回复于 2006-03-20 02:24:41 得分 0
onClick="setClass(this)";Top
2 楼KennyLong(Kenny Long)回复于 2006-03-20 04:28:54 得分 0
楼上的回答有点莫名其妙,setClass的代码是什么?Top
3 楼mingxuan3000(铭轩)回复于 2006-03-20 07:55:31 得分 5
onClick="func1(this)";
function func1(a){
var b=document.getElementsByTagName("div");
for(var i=0;i<b.length;i++){
if(b[i].id.substr(0,1)== a.id.substr(0,1)){
if(b[i].id != a.id){
b[i].className="test2";
}
}
}
}
Top
4 楼DeluxWorld(曾经的你)回复于 2006-03-20 09:29:11 得分 5
<div id="m0" class="test1" onclick='change(this.id)'>零</div>
<div id="m1" class="test1" onclick='change(this.id)'>一</div>
<div id="m2" class="test1" onclick='change(this.id)'>二</div>
<div id="m3" class="test1" onclick='change(this.id)'>三</div>
<script>
function change(id){
id += id.substr(1,2);
divObj = document.getElementsByTagName('div');
for(i=0;i<divObj.length;i++){
if( i == parseInt(id)){
continue;
}
divObj[i].className = 'test2';
}
}
</script>Top
5 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-20 09:37:53 得分 10
<style>
.test1 {
color:#FF0000;
font-size: 12px;
}
.test2 {
color:#0000FF;
font-size: 12px;
}
</style>
<div id="m0" class="test1">零</div>
<div id="m1" class="test1">一</div>
<div id="m2" class="test1">二</div>
<div id="m3" class="test1">三</div>
<SCRIPT LANGUAGE="JavaScript">
<!--
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
window.onload = function() {
divs = getElementsByClass("test1", null, "div");
for (var i = 0; i < divs.length; i++){
divs[i].onclick = clickDiv;
}
function clickDiv() {
for (var i = 0; i < divs.length; i++){
divs[i].className = "test2";
}
this.className = "test1"
}
}
//-->
</SCRIPT>
Top
6 楼KimSoft(革命的小酒天天醉-http://blog.csdn.net/kimsoft/)回复于 2006-03-20 09:38:50 得分 0
虽然代码多一点,但比较清晰。Top
7 楼KennyLong(Kenny Long)回复于 2006-03-20 18:29:08 得分 0
呵呵,kimsoft,好久没看到你了。谢谢了~~Top




