2011-06-22 104 views
0
var append = $('<li class="ui-widget-content" id="list-'+num+'">'+content+'</li>'); 
console.log(append); // LOG: [object Object] 
console.log(append.html()); // LOG: null 

IE 8創建var append作爲對象,但其html內容爲null。在其他瀏覽器中正常工作。我無法弄清楚這裏有什麼問題。有任何想法嗎?元素/對象在Internet Explorer中爲NULL

// //編輯

var content是一個Ajax響應HTML字符串,這樣

<div class="item status-0 filiale-2" id="item-18"> 
      <div class="ui-corner-all date ui-state-active"> 
      <div class="filiale">D&uuml;ren</div> 
      <div class="left date-add">22.06.2011 15:02:24 Uhr</div> 
      <div class="clear"></div> 
      </div> 
       <div class="clear"></div> 
      </div> 
      <div> 
      <form id="form-order-18" action="""> 
       <input type="hidden" id="list-id" name="id" value="18" > 
       <div class="relative left artikel"><input type="text" class="text ui-corner-all ui-widget-content autocomplete" id="list-artikel-18" name="artikel" value="79949 | ASUS Eee PC 1001PXD-BLK028S 25.65cm/N455/1" /></div> 
       <div class="relative left qty"> <input type="text" class="text ui-corner-all ui-widget-content" id="list-qty-18" name="qty" value="1" /></div> 
       <div class="relative left comment"><input type="text" class="text ui-corner-all ui-widget-content" id="list-comment-18" name="comment" value="kunde wünscht ungeöffnetes" /></div> 
       <div class="relative left"> 
       <button type="button" class="item-edit" opt:icon="ui-icon-disk" opt:text="false">&Auml;nderungen speichern</button> 
       <button type="button" class="item-del" item:id="18" opt:icon="ui-icon-trash" opt:text="false">Bestellung L&ouml;schen</button> 
       </div> 
      </form> 
      </div> 
      <div> 
      <form id="form-sendorder-18"> 
       <input type="hidden" name="action" value="sendorder" /> 
       <input type="hidden" id="order-id" name="id" value="18" > 
       <div class="relative left salesman"> 
       <label for="order-artikel-18" class="ui-state-disabled text">Händler</label> 
       <input type="text" class="text ui-corner-all ui-widget-content acsalesman inlinefield" id="order-artikel-18" name="salesman" value="" /> 
       </div> 
       <div class="relative left dateexpected"> 
       <label for="order-list-date-expected-18" class="ui-state-disabled text">erwartet am</label> 
       <input type="text" class="text ui-corner-all ui-widget-content inlinefield datepicker" id="order-list-date-expected-18" name="date_expected" value="" /> 
       </div> 
       <div class="relative left comment"> 
       <label for="order-comment-18" class="ui-state-disabled text">Kommentar für Filiale</label> 
       <input type="text" class="text ui-corner-all ui-widget-content inlinefield" id="order-comment-18" name="comment_o" value="" /></div> 
       <div class="relative left"> 
       <button type="button" class="item-order" opt:icon="ui-icon-cart" opt:text="false" item:id="18">Ware Bestellt</button> 
       </div> 
      </form> 
      </div> 
      <div class="clear"></div> 

這個字符串就是問題所在。如果我沒有這個字符串設置的HTML,它的作品。

var append = $('<li class="ui-widget-content" id="list-'+num+'">foobar</li>'); 
console.log(append); // LOG: [object Object] 
console.log(append.html()); // LOG: foobar 

感謝&問候,

亞歷

+0

什麼是'content'?哪個IE?已經有十次了。 [在IE8中爲我工作](http://jsfiddle.net/a698W/)。 –

+0

無法在IE8中重現。 – DanielB

+0

嘗試將'console.log(append);'切換到'alert(append);'。與其他console.log相同。我看到一些版本的IE瀏覽器使用console.log引起了燒心。值得一試;這很容易做到,它可能有助於縮小問題的範圍。 –

回答

0

的.html()的jQuery是的innerHTML()的等效這意味着,在正常的瀏覽器(如FF,鉻),它應該得到它正確的,而在IE中,你將不得不使用outerHTML屬性。

我會嘗試使用outerHTML jQuery插件來獲得完全的元素:http://yelotofu.com/2008/08/jquery-outerhtml/

希望它能幫助:)