Maison > interface Web > js tutoriel > 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
Libérer: 2016-05-16 15:20:40
original
1297 Les gens l'ont consulté

1, il y a un morceau de HTML comme suit

Copier le code Le code est le suivant :









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(); }
   });
 });
Copier après la connexion

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(); }
   });
 });
Copier après la connexion

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

, mais je rencontre du HTML avec des liens tels que : <.>

Copier le code

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

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.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal