<style>
.hide { display:none}
.show{ display:block}
</style>
<SCRIPT LANGUAGE=javascript>
<!--
function ShiftPic(obj)
{
if(obj.nextSibling.className=='hide'){   //doing sth.
    }
}
function ShowHide(obj)
{
if(obj.lastChild.className=='hide')
{
obj.lastChild.className='show';
}
else
{
obj.lastChild.className='hide';
}
}
</SCRIPT><a href="#" onclick="ShowHide(this);return(false)"><img src="b.gif" alt="hide" onclick="ShiftPic(this)" /><span class="show">test</span></a>

解决方案 »

  1.   

    fason(阿信),这里this是指哪个对象呢?lastChild和nextSibling又是什么呢?
      

  2.   

    this是本对象,lastChild是最后一个孩子,nextSibling是下一个邻近对象
      

  3.   

    还是不大明白,为什么lastChild和nextSibling就得到span对象
      

  4.   

    这些是 HTML DOM 方法.
    将 html 看成一棵树.
       <A> -- parent
      /   <img>  <span>  -childs现在 ShowHide 方法里的参数 obj 是对象 <A>
    从上面的图看, span 是不是 obj.lastChild ?

    在 ShiftPic 方法里参数obj是对象 <img>
    同样方法看, obj.nextSibling 不就是 span 了! 在这里你也可以
    obj.parentElement.lastChild 这样获得 span 的.
      

  5.   

    谢谢SVG,我明白了,你解释的太清楚了!