Est-il une méthode ou moyen en javascript pour ajouter un nœud enfant d'un élément de liste dynamiquement?
Si j'ai une liste non ordonnée comme
<ul id="list">
<li>Helo World-1</li>
<li>Helo World-2</li>
<li>Helo World-3</li>
</ul>
Je veux ajouter un sous-élément dynamique. Existe t'il une méthode en javascript pour le faire. Comment ai-je pu le faire.
modifier
J'ai besoin d'un élément au niveau suivant, c'est à dire une sous-liste de Helo Monde que je l'ai mentionné dans l'OP trop, quelque chose comme comme sous. Encore une question ici, c'est que j'ai besoin d'éléments pour être une partie intégrante de mon code.
<ul id="list">
<li>Helo World-1</li>
<li>Helo World-2</li>
<li>Helo World-3</li>
<ul>
<li>One</li>
<li>Two</li>
</ul>
</ul>
Comment savez-vous à qui
N'avez pas pensé à ça avant.Je pense que pour la 1ère ajouter à la fin, & une fois fait. Je Pourrais alors essayer de mettre en œuvre la méthode de Tim Bas mentionné c'est à dire ul.insertBefore(li, document.getElementById("list_item_id"));
<li>
vous devez ajouter les sous-éléments?N'avez pas pensé à ça avant.Je pense que pour la 1ère ajouter à la fin, & une fois fait. Je Pourrais alors essayer de mettre en œuvre la méthode de Tim Bas mentionné c'est à dire ul.insertBefore(li, document.getElementById("list_item_id"));
OriginalL'auteur XCeptable | 2010-11-18
Vous devez vous connecter pour publier un commentaire.
En utilisant uniquement les méthodes du DOM:
Pour ajouter l'élément de la liste à la fin de la liste:
Pour insérer l'élément de liste existant entre les éléments de la liste (à noter que vous auriez à donner à l'élément de liste existant un id dans cet exemple):
Mise à jour
Si vous souhaitez ajouter une liste imbriquée, vous devez l'ajouter à un élément de liste plutôt que directement à l'intérieur de la liste dans l'ordre pour qu'il soit valable:
insertBefore
l'inclusion. +1merci Tim, mais même chose, c'est ici. Son ajout sur le 1er niveau, j'ai besoin de sous niveau de l'élément ajouté.
pouvez vous de bien vouloir prendre en accoubt Tim mes modifications
merci Beaucoup Tim. Pouvez-vous l'obligeance de nous mettre tous ensemble du code qui est nécessaire pour ajouter imbriquée élément de la liste. Bec je ne suis pas sûr de savoir comment dois-je les fusionner ce code avec celui que vous avez saisi plus tôt que vous avez utilisé tagName propriété de l'élément qui est emballé dans l'extrait de code.
Je pense que vous pouvez utiliser documentFragment pour améliorer les performances
OriginalL'auteur Tim Down
J'ai créé un exemple dans jsfiddle
Vous pouvez passer par la w3schools dom html de référence pour voir comment on peut manipuler les éléments html à l'aide de javascript.
Mais je pense que le moyen le plus propre est d'utiliser une bibliothèque tierce comme jQuery qui permettra à un moyen beaucoup plus facile de manipuler le dom.
ex: Si l'utilisation de jQuery, ce sera aussi facile que de
EDIT:
Basé sur votre montage, vous pouvez essayer ce,
Ce sera la 3ème
<li>
de la<ul>
et ajouter une sous-liste à ilJ'ai mis à jour ma réponse à inclure une sous-liste
OriginalL'auteur Arun P Johny
simple js
Remarque: si vous avez besoin de mettre du texte
OriginalL'auteur
Autant que je sache, il n'y a pas d'équivalent HTML DOM objet de la liste.
De toute façon, vous pouvez utiliser le innerHTML:
.innerHTML
va effacer tous les gestionnaires d'événements et de provoquer d'autres problèmes.OriginalL'auteur jerjer