function dispalyMessage(ele,state,message)
{
ele.parentNode.nextSibling.childNodes[0].className = dc[state<2?state:state-1];
ele.parentNode.nextSibling.childNodes[0].innerText = message;
}在firefox中提示错误: ele.parentNode.nextSibling.childNodes[0] has no properties,但是ele.parentNode.nextSibling.childNodes又是个object属性,这里要如何写呢?

解决方案 »

  1.   

    在 FF 里,字符也算是 node ,所以 childNodes 这个东东在FF与IE里有着不同的解释,在FF里你可以先过滤一下:
    var a = obj.childNodes, cs=[];
    for(var i=0; i<a.length; i++)
    {
      if(a[i].nodeType==1 && a[i].tagName) cs[cs.length] = a[i];
    }
    //这个 cs 数组与IE里的 childNodes 一样了!
      

  2.   

    这个...还是不太明白<tr>
    <td>
        <input ....>
    </td
    <td>
        <div></div>
    </td>
    </tr>这个函数是在input里面触发一个事件的时候,来改变div的样式跟内容,这里所说的字符是指....
    看的有点不太明白,,晕晕的...
      

  3.   

    //这个 cs 数组与IE里的 childNodes 一样了!------------------------------------这样获取到的cs 树组的个数为0,,里面还是取不到东西呢
      

  4.   

    innerText 好像是IE专用的,改成innerHTML
      

  5.   

    FF中,XML中空格或换行也算一个childNode,例如
    <aaa>
    <bbb></bbb>
    </aaa>
    FireFox中aaa的childNodes.length是3,而IE中为1
    <aaa><bbb></bbb></aaa>就都是1