本帖最后由 jsyzgygcj 于 2010-01-07 11:23:33 编辑

解决方案 »

  1.   

    参考下这个http://hi.baidu.com/chenlinwei/blog/item/4a287f0a664c521995ca6b41.html
      

  2.   

    ie和ff的事件源不一样,ff要传event:
    function toggleLevDiv(evt){ 
    evt = evt ? evt : (window.event ? window.event : null);
    ...
      

  3.   

    晕了,回错了试试
    cssStyle
      

  4.   

    貌似跟这句有关o = o.nextSibling; alert(o);
    alert(o.tagName);
    .....加入调试语句,输出o,看ff下nextSibling得到的是什么
      

  5.   

    var o = event.srcElement?event.srcElement:event.target; 
    你这句话如果是ff下,event对象在哪?
    IE的event对象是window的,ff是要函数中传入的
      

  6.   

    楼主ie和firefox本来内核就不一样。js本来就是不兼容了,以后想在什么浏览器上运行就直接在那上面调试
      

  7.   


    function toggleLevDiv(event){ 
    var evt = event ? event : (window.event ? window.event : null);var o = evt.srcElement?evt.srcElement:evt.target; while ("TBODY" != o.parentElement.tagName){ 
    o = o.parentElement; 
    } o = o.nextSibling; if ('block' == o.style.display){ 
    o.style.display = 'none'; 
    } else { 
    o.style.display = 'block'; 

    } 传入onclick="toggleLevDiv(event)"
      

  8.   

    问题在于你使用nextsibling。FF下,文本也属于DOM节点,你给的程序,TR标签对象的下个节点是'\n',是换行符。应该是o.nextSibling.nextSibling。
    用table.getElementsByTagName('tr')遍历多好。像这样成对出现的隐藏功能,直接用有规律的ID,还用遍历么,直接隐藏显示自己相关的。
    看看jQuery在这方面的实现吧。
      

  9.   

    终于搞定了,用的JQUERY,谢谢各位了
    $(document).ready(function(){
        $("tr:even").click(function() { $(this).next("tr").toggle(); });
        })