IE和FF的whitespace处理是不一样的,IE会忽略dom中的whitespace,而ff不会,所以以下代码在IE和FF下执行效果是不一样的:


 1[js]remove whitespace for firefox<div id="container">
 2[js]remove whitespace for firefox    <div id="main">
 3[js]remove whitespace for firefox        <div id="sub1">
 4[js]remove whitespace for firefox            hello sub 1.
 5[js]remove whitespace for firefox        </div>
 6[js]remove whitespace for firefox        <div id="sub2">
 7[js]remove whitespace for firefox            hello sub 2.
 8[js]remove whitespace for firefox        </div>
 9[js]remove whitespace for firefox    </div>
10[js]remove whitespace for firefox</div>
11>


为了使两个浏览器运行效果一样,要把所有dom中的whitespace节点去掉,可以这样写:

 

 1}

 

 然后,在dom trace之前调用一下,递归地把document下面所有whitespace去掉:

 1[js]remove whitespace for firefox<div id="container">
 2[js]remove whitespace for firefox    <div id="main">
 3[js]remove whitespace for firefox        <div id="sub1">
 4[js]remove whitespace for firefox            hello sub 1.
 5[js]remove whitespace for firefox        </div>
 6[js]remove whitespace for firefox        <div id="sub2">
 7[js]remove whitespace for firefox            hello sub 2.
 8[js]remove whitespace for firefox        </div>
 9[js]remove whitespace for firefox    </div>
10[js]remove whitespace for firefox</div>
11>

 

 

 两个浏览器执行的效果就一样了。

 

 更新:

此方法可能效率会低一点,因为要遍历所有dom节点。所以建议写类似几个方法:

 

 1    }

 

 使用方法:

1[js]remove whitespace for firefoxalert( _rdc.next( _rdc.first( _rdc.first(  $('container') ) ) ).id );


 

相关文章:

  • 2021-08-27
  • 2021-06-09
  • 2022-12-23
  • 2021-12-23
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-15
  • 2022-12-23
  • 2021-12-26
  • 2021-10-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案