Comment puis-je ajouter un élément après un autre élément?


174

J'ai une certaine zone de texte et je veux ajouter un div après. J'ai essayé la .append()fonction, mais cela n'ajoute que le div dans l'élément.

Par exemple, j'ai:

<input type="text" id="bla" />

et je veux changer cela en:

<input type="text" id="bla" /><div id="space"></div>

Réponses:


289

essayez d'utiliser la after()méthode:

$('#bla').after('<div id="space"></div>');

Documentation


8
Les méthodes .after () et .insertAfter () exécutent la même tâche.
Rifat

7
C'est correct, mais cela dépend de la façon dont vous préférez le coder. J'aurais normalement déjà sélectionné l'entrée '#bla', puis ajouterais le contenu supplémentaire par la suite. Purement ma préférence cependant, je ne suis pas sûr que l'une ou l'autre méthode ait un avantage de vitesse.
Rowan

37

essayer

.insertAfter()

ici

$(content).insertAfter('#bla');

17
Votre code ne devrait-il pas ressembler $('<div id="space"></div>').insertAfter('#bla')plutôt à $('#bla').insertAfter(content);?
Rowan

6

Tout d'abord, l' inputélément ne doit pas avoir de balise de fermeture (de http://www.w3.org/TR/html401/interact/forms.html#edef-INPUT : Balise de fin: interdite).

Deuxième chose, vous avez besoin du after(), pas de la append()fonction.


Correct, mais c'est ce qui se passe lorsque j'essaye la fonction .append ().
skerit

2
S'il s'agit de XHTML, l'élément d'entrée doit être fermé (mais pas avec une balise de fin).
CiscoIPPhone

2
En HTML4 <input>ne doit pas être fermé.
Derek 朕 會 功夫

1

JQuery résolu: ajouter un élément après un autre élément

<script>
$( "p" ).append( "<strong>Hello</strong>" );
</script>

OU

<script type="text/javascript"> 
jQuery(document).ready(function(){
jQuery ( ".sidebar_cart" ) .append( "<a href='http://#'>Continue Shopping</a>" );
});
</script>

2
Ceci est une erreur. Cela ajoute l'élément dans l'élément parent, tout comme l'OP indiqué. Pensez à relire la question et à réviser votre réponse.
Evan Wieland
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.