点一个图标,能显示父节点下的子节点,在ie上没有问题,但是在firefox上却不行,请问该怎么改代码?<td onClick="tree_toggle(this.parentNode, tree_arrow<?php echo $i;?>)">

//切换树结点的状态(展开或收缩)
function tree_toggle(obj, img) {
//alert (obj.tagName);
sibling = obj.nextSibling;
while (sibling && sibling.className=="child") {
sibling.style.display = (sibling.style.display=="")?"none":"";
sibling = sibling.nextSibling;
}
if (img) {
var srcfile = img.src.split("/");
        srcfile = srcfile[srcfile.length-1];
if (srcfile=="arrowreturn_b.gif") {
img.src = "/images/arrowreturn_a.gif";
} else {
img.src = "/images/arrowreturn_b.gif";
}
}
}

解决方案 »

  1.   

    在javascript控制台中查看错误信息。
    一般根据提示修改即可
      

  2.   

    注意obj.nextSibling在firefox下的用法
      

  3.   

    应该是img的问题
    onclick改为
    <td onClick="tree_toggle(this.parentNode, 'tree_arrow<?php echo $i;?>')">function 改为function tree_toggle(obj, imgId) if (img)上加上下面这句var img = document.getElementById(imgId);
      

  4.   

    对,FireFox要求节点之间没有空格的
    比方说
    <tr></tr><tr></tr>OK
    但是
    <tr></tr>
    <tr></tr>
    不行