JavaScriptDOM i zdarzenia

Element.append()

Dodaje elementy lub tekst na końcu zawartości elementu.

Zwraca
undefined
Zmienia oryginał
Tak
Na tej stronie

Przykład

#
JavaScript
const status = document.querySelector('#status')
const badge = document.createElement('strong')
badge.textContent = 'online'

status.append(' ', badge, ' od 5 minut')

console.log(status.textContent)
console.log(status.innerHTML)
Konsola
Status: online od 5 minut
Status: <strong>online</strong> od 5 minut

Definicja i zastosowanie

#

Metoda append() wstawia podane elementy albo napisy jako ostatnie dzieci elementu. Przyjmuje dowolną liczbę argumentów, a napisy zamienia na węzły tekstowe, wstawiane dosłownie, a nie jako HTML.

Jej starszy odpowiednik, appendChild(), przyjmuje tylko jeden węzeł, nie obsługuje napisów i zwraca dodany element. append() nic nie zwraca, ale jest wygodniejsza. Do tej samej rodziny należą prepend() (wstawia na początek), before() i after() (wstawiają obok elementu) oraz replaceWith().

Element może być w dokumencie tylko w jednym miejscu. Jeśli dodasz element, który już jest na stronie, zostanie przeniesiony, a nie skopiowany. Do kopiowania służy element.cloneNode(true).

Składnia

#
Składnia
element.append(node1, node2, …)
element.append(text)

Parametry

#
  • node1…nodeN

    elementy lub napisy

    Węzły albo napisy do dodania na końcu, w podanej kolejności.

Więcej przykładów

#
Dodanie istniejącego elementu go przenosi
JavaScript
const queue = document.querySelector('#queue')

queue.append(queue.firstElementChild)

console.log(Array.from(queue.children, (li) => li.textContent))
Konsola
['Kuba', 'Ola', 'Ania']
append() a appendChild()
JavaScript
const box = document.querySelector('#box')
const paragraph = document.createElement('p')

console.log(box.appendChild(paragraph))
console.log(box.append('tekst'))
console.log(box.childNodes.length)
Konsola
<p>
undefined
2
prepend() i after()
JavaScript
const steps = document.querySelector('#steps')
const first = document.createElement('li')
first.textContent = 'Krok 1'

steps.prepend(first)
steps.after('Gotowe!')

console.log(Array.from(steps.children, (li) => li.textContent))
console.log(steps.nextSibling.textContent)
Konsola
['Krok 1', 'Krok 2']
Gotowe!

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Kilka elementów dodasz jednym wywołaniem: append(a, b, c) albo append(...lista).
  • Napisy w append() są wstawiane jako tekst. Jeśli chcesz wstawić kod HTML, użyj insertAdjacentHTML().
  • Dodanie istniejącego elementu przenosi go. Jeśli potrzebujesz kopii, najpierw wywołaj cloneNode(true).

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.