jqueryのie 7でのセレクタの問題によるappendの失効の解決方法

3177 ワード

1,次のような一節があります.
 
  

 



 




2,jqueryでtbodyの下のコンテンツコードを動的に入力します.
 
  
$("#pending table tbody").empty().append(th).append(html);

このコードはie 7以降のieバージョンで問題があり、jqueryは#pending table tbodyで正しいdom位置とappendコンテンツを見つけることができません.修正する必要があります.修正するコードは以下の通りです.
 
  
$("table tbody").empty().append(th).append(html);

#pendingを外してtable tbodyでdomを直接探します
3,私はしばらくとても疑問に思って、カスケードのセレクタはよくありますが、ie 7の下でどうしてこのような問題があって、まさかjqueryのbugあるいはdivの下でtable tbodyのhtmlの書き方が標準的ではありませんか?
以下、補足します.
jqueryがIEでappendを使用する際に注意すべき問題

$(document).ready(function() {
   $.ajax({
     url: 'Cutepage.htm',
     dataType: 'json',
     data: 'type=Init&PageSize=' + EachPage + '&PageIndex=1',
     success: function(msg) {

      // IE7     ,        。。。。。
      $('#Content').append('                       ');

     },
    error: function(x) { alert("       :" + x.status); $('#Loading').hide(); }
   });
 });

次のように変更します.

$(document).ready(function() {
   $.ajax({
     url: 'Cutepage.htm',
     dataType: 'json',
     data: 'type=Init&PageSize=' + EachPage + '&PageIndex=1',
     success: function(msg) {

      //   ...(        ,    Jquery html        ,      ........) 
      var pageContent = '';  
       pageContent += '
';
pageContent += '';
PageContent+='商品番号商品名サプライヤー番号商品種類番号単価';
$('#Content').append(pageContent );
},
error:function(x){alert("サーバエラーコード:"+x.status);$('#Loading')/hide();
});
});
htmlコンテンツを直接使用しないでパラメータにコンテンツをコピーします.
jQueryのappendメソッドは接続をサポートしていないなどのHTML属性の解決は憂鬱で、今日プログラムを書いて、ドキュメントオブジェクトの中でappendのhtmlをいくつかアップしたいと思っています.これらは全く問題ありませんが、リンク付きのHTMLに遭遇しました.
 
  
$("#test").append("test");

Firefoxは問題なく、IE 6、IE 7はIE 8まで死活し、テキストの内容だけを表示し、接続はありません.Googleを準備していたらGoogleを見つけた.もう登録できないcnで検索した基本的なページは採集ステーションのゴミの文章で、とても憂鬱です.半日やって、1篇の文章を探し当てて、jQuery自身のappend関数の問題だと言って、この関数は自分でHTMLの解析と分析の文に似ていて、基本的なhtmlは大丈夫で、リンクあるいは完全に閉じていないラベルあるいはカスタムのラベルに出会って、jQueryは死んで認識できません.本当にそうなのか、手元のjsライブラリは圧縮版で、遅すぎて頭もぼんやりしてローシュソースコードを見に行きたくない.直接自分のCreateの1つのaラベルの要素を挿入して、このようにします:
 
  
$(document.createElement(‘a')).attr({"href":"#", "id": ‘#mylink'}).appendTo("#test");

このリンクに内容を添付します.
 
  
$(‘#mylink').text("test");

へえ、疲れた?いずれにしても、寝て、明日暇があればjQueryのソースコードがどのように書かれているかを見てみましょう.