请教一个在FireFox浏览器中js脚本的写法
var str = obj.parentNode.parentNode.childNodes[1].innerText;
这一句在IE中可以正确的现实
但是我在fireFox中换成:var str = obj.parentNode.parentNode.childNodes[1].innerHTML;
之后发现想要的节点中的值并不和IE中看到的一样。
请教解决办法:)

解决方案 »

  1.   

    FireFox浏览器中childNodes中一个空格也算一个Nodes,所以childNodes[1]就不同了
      

  2.   

    ie中如果当前节点是input,那么的下一个节点是空格或者换行符时不会被忽略,和ff一样,搞得我也模糊。最好的方法是重写所有Node,可惜偶不会。或者判断每个节点的nodeType,如果是元素会返回3,如果是文本会返回1,然后根据这个循环去做,但由于Node经常会用到,最好重写所有Node,让ie和ff统一并且我们能人性化解决所有Bug.
      

  3.   

    var   str   =   obj.parentNode.parentNode.childNodes[1].textContent
      

  4.   

    var node = obj.parentNode.parentNode.childNodes[1];
    var str = node.textContent;
    alert(str);