<style>
.picCss{filter:Alpha(Opacity:50)}
.textCss{background:highlight;color:#ffffff}
</style> <span onclick="csshs(this);"> <table width="60"> <tr> <td align="center"> <img src="images/templetArticle.gif"> </td> </tr> <tr> <td> <span>政治 </span> </td> </tr> </table> </span> <span onclick="csshs(this);"> <table width="60"> <tr> <td align="center"> <img src="images/templetArticle.gif"> </td> </tr> <tr> <td> <span>经济 </span> </td> </tr> </table> </span> <span onclick="csshs(this);"> <table width="60"> <tr> <td align="center"> <img src="images/templetArticle.gif"> </td> </tr> <tr> <td> <span>文化 </span> </td> </tr> </table> </span>
<script>
function SetCss(arr,cls)
{
for(var i=0;i<arr.length;i++)arr[i].className=cls;
}
function $s(obj,tagName){return obj.getElementsByTagName(tagName);}
function csshs(obj)
{
SetCss($s(obj,"img"),"picCss");
SetCss($s(obj,"span"),"textCss");
var TempObj=obj;
while(TempObj=TempObj.previousSibling)
{
SetCss($s(TempObj,"img"),"");
SetCss($s(TempObj,"ps,span"),"");
}
TempObj=obj;
while(TempObj=TempObj.nextSibling)
{
SetCss($s(TempObj,"img"),"");
SetCss($s(TempObj,"span"),"");
}
}
</script>
/* while(TempObj=TempObj.previousSibling)
{
SetCss($s(TempObj,"img"),"");
SetCss($s(TempObj,"ps,span"),"");
}*/
//====>
while(TempObj=TempObj.previousSibling)
{
SetCss($s(TempObj,"img"));
SetCss($s(TempObj,"span"));
}
你写的有这么一个小小的问题:选择其他的元素时,之前选择过的元素的 css 没有恢复原始状态