Je ne suis pas sûr de ce que je fais mal et il n'y a aucune indication que cela ne devrait pas fonctionner dans IE. Mais le code suivant ne pas ajouter les éléments <dd>
dans .après() au DOM:jQuery .après avoir ajouté des éléments dans IE7/IE8
shouts_list_selector = $("#shouts dl#shouts_list");
shout_object = $('<dt>')
.attr('id', shout.id)
.text(shout.name)
.append($('<span>').addClass('separator').text(' : '))
.append($('<abbr>').addClass('timestamp').attr('title', shout.timestamp).text(shout.when))
.after($('<dd>').html(shout.message))
shout_object.prependTo(shouts_list_selector).slideDown('slow', 'swing');
cris est un objet contenant des messages. Cela fonctionne très bien dans Firefox et Chrome. Mais IE manque les éléments <dd>
. Y at-il quelque chose de mal avec cet exemple ou une meilleure façon de le faire?
Edit: Voici un exemple montrant la question: http://jsfiddle.net/sx6YH/
Les balises DD montrent correctement lorsqu'il est exécuté dans Firefox ou Chrome. Mais pas dans IE.
peut-être '$ ('
') .html (' message shout')' ??? –@experimentx, jquery crée un nouvel élément lors de la transmission d'une balise d'ouverture de chaîne, de sorte que la balise de fermeture n'est pas nécessaire. –
@nathanconzalez et à propos du '$(). Emoticon (shout.message)' ??? –