更新:應該關閉此問題,因爲問題是由於我自己的編碼錯誤而導致的,並不是真的有用。jQuery.html()在Internet Explorer 8中帶有領先的空格和錨標記
當IE8和jQuery.html()裏面有一個領先的空白和一個錨標記時,我遇到了問題。若要重現該問題,請到這裏:
http://jquery.com/
現在進入IE8開發者控制檯這樣的:
$('body').html(' test<a href="">foo<a>');
你會發現,沒有被印在屏幕上。在控制檯中輸入這將確認正文的內容爲空:
$('body').html();
如果我使用本地的innerHTML,不會出現此問題。 jQuery繞過了IE8的本地innerHTML,而是使用jQuery.append(),因爲IE8會去掉領先的空白。
任何人都知道爲什麼會發生這種情況?這是一個已知的錯誤?
爲什麼這個空白對你來說如此重要?它什麼都不知道...... – gdoron
看起來可能是一個錯誤。 – j08691
我沒有IE來測試這個在我面前,但這裏是他所指的代碼行:https://github.com/jquery/jquery/blob/master/src/support.js#L36 https://github.com/jquery/jquery/blob/master/src/manipulation.js#L226 – noob