Je mets le html de l'élément body dans un iframe à une chaîne str, puis je veux accéder à ce contenu sur la ligne suivante (ici en utilisant simplement un appel d'alerte pour afficher le contenu) mais les fonctions html et append n'est pas terminée au moment où la déclaration d'alerte est appelée.Comment faire pour que votre code attende les fonctions html() et append() pour terminer?
$(function(){
....
$("#notes-tab span.add_draft").bind("click", function(e){
var str = '';
$(this).parent().siblings(".tab-content").children(".para").each(function(ind) {
str += $(this).find('div:first').html();
});
var curr = $("#content_rte").contents().find("body").html();
if (curr == ' ' || curr == '<br>') {
$("#content_rte").contents().find("body").html(str);
}
else {
$("#content_rte").contents().find("body").append(str);
}
alert($("#content_rte").contents().find("body").html());
});
});
Et bien sûr, ni les fonctions html ni les fonctions append ne font appel à des rappels.
Quelqu'un pourrait-il me dire comment on fait normalement attendre que le DOM soit changé avant de continuer?
Est-ce appelé depuis votre fonction $ (document) .ready()? –