Jak mogę dodać element po innym elemencie?


174

Mam określone pole tekstowe i chcę dodać po nim element div. Wypróbowałem tę .append()funkcję, ale to tylko dodaje element div do elementu.

Na przykład mam:

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

i chcę to zmienić na:

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

Odpowiedzi:


287

spróbuj użyć after()metody:

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

Dokumentacja


8
Metody .after () i .insertAfter () wykonują to samo zadanie.
Rifat

7
To prawda, ale zależy to od sposobu, w jaki wolisz go zakodować. Normalnie miałbym już wybrane wejście „#bla”, a potem dodawałbym dodatkową zawartość. Jednak czysto wolę, ale nie jestem pewien, czy którakolwiek z metod przynosi korzyści związane z szybkością.
Rowan

37

próbować

.insertAfter()

tutaj

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

17
Czy twój kod nie powinien być bardziej podobny $('<div id="space"></div>').insertAfter('#bla')niż $('#bla').insertAfter(content);?
Rowan


1

Rozwiązany jQuery: Dodaj element po innym elemencie

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

LUB

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

2
To jest niepoprawne. Spowoduje to dołączenie elementu do elementu nadrzędnego, tak jak podano w OP. Rozważ ponowne przeczytanie pytania i zrewidowanie swojej odpowiedzi.
Evan Wieland,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.