Bonjour,
J'utilise JQuery pour générer quasiment entièrement des pages, et je suis régulièrement confronté à un problème dont je ne saurais dire s'il s'agit d'un bug ou d'une incompréhension de ma part.
J'utilise JQuery 2.1.1.1
Prenons l'exemple suivant :
Ca ne marche pas, le label contenant tutu ne s'affichant pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $("body").append($("<input />") .attr("id", "my_item") .attr("type", "text") .val("pouet") .after( $("<label />") .attr("for", "my_item") .text("tutu") ) );
En revanche, si j'écrit :
Là, ça marche, si ce n'est que tutu apparaît à la ligne. Il me semble pourtant que les 2 exemples devraient être équivalent ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var obj = $("body").append($("<input />") .attr("id", "my_item") .attr("type", "text") .val("pouet") ); obj.after($("<label />") .attr("for", "my_item") .text("tutu") );
Enfin, si j'écris :
Ca marche aussi et tutu apparaît tout de suite après le input...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $("body").append($("<input />") .attr("id", "my_item") .attr("type", "text") .val("pouet") ); $("#my_item").after( $("<label />") .attr("for", "my_item") .text("tutu") );
Quelqu'un saurait-il expliquer ça ?
En vous remerciant
Partager