jQuery .after () ne fonctionne pas dans IE
-
22-10-2019 - |
Question
Je suis en train d'ajouter une ligne de table à une table à l'aide .after()
mais il ne fonctionne pas dans tous les IE, je reçois sans cesse ce "Object required"
d'erreur et l'erreur semble provenir de la ligne 5151 dans ma bibliothèque jQuery.
Voici mon code:
$('#view').live('click',function(){
var parent = $(this).parent();
parent.after("<tr><td>Test</td></tr>");
});
Toutes les idées?
La solution
Une raison probable est que le code HTML n'est pas valide sans étiquette de table.
Créer des éléments comme des éléments séparés à la place:
parent.after($('<tr/>').append($('<td/>').text('Test')));
Autres conseils
Je définitivement valider votre HTML premier; ce genre de chose échoue souvent beacuse IE est moins « généreux » quand les choses ne sont pas valides.
Savez-vous ce parent est? est-il vraiment un tr
?
fonctionne bien pour moi dans IE, FF et Chrome. démo
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow