Maison  >  Article  >  interface Web  >  Solution au problème du sélecteur de jquery sous ie7 qui provoque l'ajout d'un fail_jquery

Solution au problème du sélecteur de jquery sous ie7 qui provoque l'ajout d'un fail_jquery

WBOY
WBOYoriginal
2016-05-16 15:20:401256parcourir

1, il y a un morceau de HTML comme suit

Copier le code Le code est le suivant :

67705835d81960536a935fef1fe6defd b3cb001ffa23a62d3d148e67f026e3f1 92cee25da80fac49f6fb6eec5fd2c22a
ca745a59da05f784b8811374296574e1
2badb314250de4f8a6a38eb7e6179160 16b28748ea4df4d9c2150843fecfba68
16b28748ea4df4d9c2150843fecfba68



2. J'utilise jquery pour remplir dynamiquement le contenu sous tbody. Le code est le suivant
.

Copier le code Le code est le suivant : $("#ending table tbody").empty().append(th).append(html);


Ce code aura des problèmes dans les versions ie7 et inférieures, c'est-à-dire que jquery ne peut pas trouver la position correcte du dom et ajouter le contenu via #pendant la table tbody. Il doit être modifié. Le code modifié est le suivant

Copier le code Le code est le suivant : $("table tbody").empty().append(th).append(html);


Supprimez # en attente et trouvez dom directement via la table tbody
3. J'ai été confus pendant un moment. Les sélecteurs en cascade sont très courants, mais pourquoi y a-t-il un tel problème sous IE7 ? Est-ce un bug jquery ou la méthode d'écriture HTML du corps de table imbriquée sous div n'est pas assez standard ?

Permettez-moi de continuer à ajouter :

Choses à noter lors de l'utilisation de jquery append dans IE

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

      //在IE7下无法显示,在火狐下没有问题。。。。。
      $('#Content').append('<tr><td width="19%"> 商品编号</td><td width="15%">商品名字</td><td width="20%">供应商商编号</td><td width="30%">商品种类编号</td><td width="10%">单价</td></tr>');

     },
    error: function(x) { alert("服务器错误代码:" + x.status); $('#Loading').hide(); }
   });
 });

Copiez le contenu dans un paramètre, n'utilisez pas directement le contenu html.
$(document).ready(function() {
   $.ajax({
     url: 'Cutepage.htm',
     dataType: 'json',
     data: 'type=Init&PageSize=' + EachPage + '&PageIndex=1',
     success: function(msg) {

      //修改后...(这样就没有问题了,可以看出Jquery对html标签是比较敏感的,以后需要注意........) 
      var pageContent = '';  
       pageContent += '<table border="2">';
       pageContent += '<tr><td width="19%"> 商品编号</td><td width="15%">商品名字</td><td width="20%">供应商商编号</td><td width="30%">商品种类编号</td><td width="10%">单价</td></tr>';
       pageContent += '</table>';      
       $('#Content').append(pageContent );

     },
    error: function(x) { alert("服务器错误代码:" + x.status); $('#Loading').hide(); }
   });
 });

La méthode append de jQuery ne prend pas en charge les attributs HTML tels que les connexions

Je suis très déprimé. J'écris un programme aujourd'hui et je souhaite ajouter du code HTML dans l'objet document. Il n'y a aucun problème, comme a4b561c25d9afb9ac8dc4d70affff419e388a4556c0f65e1904146cc1a846bee, mais je rencontre du HTML avec des liens tels que : <.>

Copier le code

Le code est le suivant : $("#test").append("771ffaf5277073360b429b7cfaa0dd37test5db79b134e9f6b82c0b36e0489ee08ed");

Il n'y a pas de problème avec Firefox, mais IE6, IE7 et IE8 sont bloqués, seul le contenu texte est affiché sans aucune connexion. Je me préparais à utiliser Google, mais j'ai découvert que je ne pouvais plus me connecter à Google.com. En gros, la page trouvée sur Google.cn était pleine d'articles indésirables provenant de sites de collecte, ce qui était très déprimant. Après avoir travaillé dessus pendant longtemps, j'ai trouvé un article qui disait qu'il s'agissait d'un problème avec la propre fonction d'ajout de jQuery. Cette fonction a ses propres instructions similaires à l'analyse HTML de base, mais elle rencontre des liens ou des balises qui. ne sont pas complètement fermés ou sont personnalisés, jQuery ne peut tout simplement pas les reconnaître. Je ne sais pas si c'est vraiment le cas. La bibliothèque js que j'ai est une version compressée, c'est trop tard et j'ai la tête qui tourne et je ne veux plus regarder le code source de Laoshizi. Créez simplement un élément de la balise a et insérez-le directement, comme ceci :

Copier le code

Le code est le suivant : $(document.createElement(‘a’)).attr({"href":"#", "id": '#mylink'}).appendTo("#test");

Ensuite, attachez du contenu à ce lien :

Copier le code

Le code est le suivant : $('#monlien').text("test");
Hé, tu es fatigué ? Peu importe, je vais me coucher. Si j'ai le temps demain, regardons comment est écrit le code source de jQuery.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn