2013-10-01 5 views
1

est ici l'extrait de mon codeJquery créer dynamiquement un contenu

$("#temp").append('<div class="dynamic">'); 
    $("#temp").append(a[i]); 
    $("#temp").append("</div>"); 

ce contenu est à l'intérieur d'une boucle et ajouter dynamiquement des éléments à div id temp.

ce que je pense qu'il devrait produire est

<div id="temp"> 

..... 
<div class="dynamic"> 
Education //value of a[i] 
</div> 
.... 


</div> 

mais exactement ce qu'il produit, il

<div id="temp"> 

    <div class="dynamic"></div> 

    Education 

comme le confirme de Firebug. A cause de cela, mon style CSS se décompose juste.

Pouvez-vous regarder à ce sujet? Merci

+0

ce qui est '??? a' –

+0

a est un tableau que j'ai créé plus tôt dans le code jquery. –

+0

var a = new Array(); –

Répondre

0

essayer cela en boucle, je suppose que votre problème est résolu ...

var data = "<div class='dynamic'>" + a[i] + "</div>"; 
$("#temp").append(data); 
0

Utilisez

var data = '<div class="dynamic">' + a[i] + '</div>'; 
$("#temp").append(data); 

que lorsque vous ajoutez un div $("#temp").append('<div class="dynamic">'); est créé et fermé.

et quand vous ajoutez $("#temp").append(a[i]); il est ajouté après div

7

Création d'éléments avec jQuery doit se faire comme ceci:

$('<div />', {'class': 'dynamic', text: a[i]}).appendTo('#temp'); 
+0

merci, il a résolu mon problème –

+0

@Wanna_be_Coder si vous avez obtenu la bonne solution puis choisissez-le comme une réponse –

+0

Pourquoi est-ce que 'class' est entre guillemets, mais' text' n'est pas? Cela peut-il être de toute façon? Ou est-ce juste parce que 'class' est un mot-clé? Tout exemple de cette syntaxe avec un balisage un peu plus complexe, comme avec des éléments enfants supplémentaires? –

Questions connexes