Mam element E i dołączam do niego niektóre elementy. Nagle dowiaduję się, że następnym elementem powinno być pierwsze dziecko E. Jaka jest sztuczka, jak to zrobić? Metoda unshift nie działa, ponieważ E jest obiektem, a nie tablicą.
Dalszą drogą byłoby powtarzanie dzieci E i przenoszenie klucza ++, ale jestem pewien, że jest ładniejszy sposób.
Odpowiedzi:
źródło
Wersja 2017
Możesz użyć
Z MDN :
Również w rodzinie
insertAdjacent
są metody rodzeństwa:element.insertAdjacentHTML('afterbegin','htmlText')
do wstrzykiwania łańcucha HTML bezpośrednio,innerHTML
ale bez przesłonięcia wszystkiego, dzięki czemu można przeskoczyć uciążliwy proces,document.createElement
a nawet budować cały element za pomocą procesu manipulacji ciągiemelement.insertAdjacentText
do wstrzykiwania odkażającego łańcucha do elementu. już nieencode/decode
źródło
element
typeofdocument-fragment
, że nie mająinsertAdjacent...()
. dopóki nie znajdziemy lepszej odpowiedzi, najlepiej zgadnąć, czy dołączyćfragment
dodiv
. dokonaj manipulacji domem, a następnie użyjRange.selectNodeContents()
i,Range.extractContents()
aby odzyskać fragmentWersja 2018
To jest nowoczesny JS! Jest bardziej czytelny niż poprzednie opcje. Jest obecnie dostępny w Chrome, FF i Operze.
PS Możesz bezpośrednio poprzedzać ciągi
developer.mozilla.org
Czy mogę korzystać - 94% maja 2020 r
Polyfill
źródło
.appendChild()
ale dodanie go na początku jest.prepend()
zamiast trzymania się konwencji i nazywania tego.prependChild()
append()
istnieje, działa tak samo jakprepend()
, ale na końcuprepend
gdy odkryłem, że już tak było. :( Ok, nie istniał w przeszłości.Możesz zaimplementować go bezpośrednio we wszystkich elementach HTML okna.
Lubię to :
źródło
prepend
jest waniliowym odpowiednikiem JS, bez potrzeby prototypu. Będzie to standard w ES7, a jeśli to możliwe, powinieneś użyć goZaakceptowana odpowiedź została przekształcona w funkcję:
źródło
eElement
to ma sens. I w tym celu muszę przeczytać pytanie. Przez większość czasu po prostu sprawdzam tytuł i idę bezpośrednio do odpowiedzi, ignorując szczegóły pytania.Chyba że źle zrozumiałem:
Lub
Chociaż z twojego opisu wygląda na to, że istnieje jakiś warunek, tak
źródło
Myślę, że szukasz funkcji .prepend w jQuery. Przykładowy kod:
źródło
Stworzyłem ten prototyp, aby dodawać elementy do elementu nadrzędnego.
źródło
https://www.w3schools.com/jsref/met_node_insertbefore.asp
źródło