Là c'est pas le append qui pose problème mais la logique globale...
Si tu affectes le clic sur un élément qui n'existe pas, ben c'est sûr que ça marche moins bien 
Il y a plusieurs solutions pour parer à cela.
* Définir le clic après l'insertion
1 2 3 4 5 6
| $('#creation_element').click (function () {
$("#conteneur").append ("<p class='test'>Test</p>");
$('.test').click (function () {
alert ('ok');
});
}); |
* Utiliser la méthode live()
$('.test').live('click', function(){...};
* Utiliser la méthode delegate() (plus recommandée que la précédente)
$('#conteneur').delegate('.test', 'click', function(){...});
Partager