0Pricing
jQuery Academy · Lekcja

Manipulowanie DOM za pomocą jQuery — 2

Manipulowanie DOM za pomocą jQuery — 2

Manipulowanie DOM za pomocą jQuery — 2 to bezpłatna lekcja jQuery Academy na CoddyKit. To lekcja 1 z 1. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej jQuery Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs jQuery Academy zawiera 1 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Wprowadzenie i append

Dzień dobry,

W dotychczasowych przykładach wykonywaliśmy operacje aktualizacji lub odczytu obiektów HTML DOM. 

Poznamy operację wstawiania za pomocą metody append().

Spójrzmy na przykład.

<button id="add">
     Add New Item
</button>		
<div id="target"></div>

<script>
  
/*
  Listen for an element with 
  the add id click
  */
  $('#add').click(function(){

  /*
  append '<p>This is the appended 
  text</p>' to #target element
  */
  $("#target").append("<p>Appended text</p>");
})
</script>

append

Po uruchomieniu powyższego kodu metoda append doda kod HTML (przekazany jako argument) na końcu elementu #test.

prepend

Metoda prepend()

Przeciwieństwem metody append() jest metoda prepend() . Metoda append() dodaje element na końcu zawartości elementu docelowego, natomiast prepend dodaje go na początku.

<div id="target"></div>

<button id="add">
     Add New Item
</button>		

<script>

/*
Listen for an element 
with the add id click
*/
$('#add').click(function(){

 /* append '<p>This is the prepended text</p>' 
    to #target element
*/
   $("#target").prepend("<p>This is the appended text</p>");
})

</script>

Pytanie

Za pomocą metod append i prepend mogliśmy dodawać nowe elementy HTML na końcu i początku elementu docelowego.

Co zrobić, jeśli chcemy dodać element jako rodzeństwo elementu docelowego?

Przykład

Kontynuujmy poprzedni przykład.

W pierwszym przypadku nasz węzeł HTML wygląda następująco.

<div id="test">
     <p>initial paragraph</p>
</div>

metody after i before

metody after() i before()

Za pomocą metod after() i before() możemy dodawać elementy HTML przed elementem docelowym i za nim.

W poniższym kodzie przykładowym nowy element został dodany do elementu o identyfikatorze #test bezpośrednio przed nim oraz bezpośrednio po nim w hierarchii elementów rodzeństwa.

<div id="test">
     <p>initial paragraph</p>
</div>

<script>
$('#test').before('<p>I am before the #test element</p>');
$('#test').after('<p>I am after the #test element</p>');
</script>

Wielokrotne wstawianie

Do tej pory poznaliśmy metody prepend(), append(), before() i after(). Nie wyjaśniłem pewnej kwestii. Przepraszam, czasami zdarza mi się o czymś zapomnieć 😇.

Co więc zrobić, jeśli chcemy dodać więcej niż jeden węzeł jednocześnie?

Tak jak w poniższym przykładzie, 

możemy dodać więcej niż jeden węzeł jednocześnie, przekazując więcej niż jeden argument do odpowiednich metod.

<p>
<span id="target"></span>
</p>
<script>
var firstNode = '<p id="first-node">First node</p>';
var secondNode = '<p id="first-node">Second node</p>';
var thirdNode = '<p id="first-node">Third node</p>';

/*
The following four methods work 
with the same logic and take 
more than one argument.
*/

 $('#target').before(firstNode, secondNode, thirdNode);
 $('#target').after(firstNode, secondNode, thirdNode);
 $('#target').append(firstNode, secondNode, thirdNode);
 $('#target').prepend(firstNode, secondNode, thirdNode);

</script>

Przykład łączenia metod

W powyższym przykładzie jednocześnie dodano więcej niż jeden węzeł. Jak widać, składnia pozostaje taka sama, nawet jeśli używamy różnych metod.

Możemy również pisać kod w JQuery, łącząc metody. 

W ten sposób możemy tworzyć krótszy i bardziej efektywny kod.

Spójrzmy na przykład i nauczmy się pisać łączony kod w jQuery.

<p id="test"></p>

<script>
var firstNode = '<p id="first-node">First node</p>';
var secondNode = '<p id="first-node">Second node</p>';
var thirdNode = '<p id="first-node">Third node</p>';

/*
We made our code shorter.
Also, we have done the select operation 
on the DOM only once instead of twice.
*/
$('#test').before(firstNode, secondNode, thirdNode)
	    .after(firstNode, secondNode, thirdNode);

</script>

metoda wrap

metoda wrap()

Jakiej metody użyjemy, jeśli chcemy umieścić element HTML w innym kontenerze?

Oczywiście metody wrap() .

Poniższy przykład pokazuje proste zastosowanie metody wrap.

<div id="target"></div>

<script>
/*
When we apply the code below. 
The node we assigned as an argument 
will come around our target element.
*/
$("#target").wrap('<div class="container">Container wrapped the target element</div>');

//The result will be as follows
/*
<div class="container">
  Container wrapper the target element
  <div id="target">
  </div>
</div>
*/
</script>

Question

metoda unwrap

metoda unwrap()

Jest to metoda odwrotna do metody wrap(). Za pomocą metody unwrap() możemy usunąć element nadrzędny elementu docelowego.

const $ = (selector) => ({
    unwrap: () => console.log(`Unwrapped ${selector}`)
});
$("#target").unwrap();

metoda empty

metoda empty()

Przyjrzyjmy się usuwaniu zawartości elementów HTML.

Za pomocą metody empty() możemy usunąć wszystkie elementy potomne i elementy zagnieżdżone elementu docelowego.

// Removes all descendants of the element from the DOM.
// (Simulated for Node.js environment)
const $ = (selector) => ({
  empty: () => console.log(`Removed all descendants of ${selector}`)
});
$("#target").empty();

metoda remove()

metoda remove()

Metoda remove() usuwa z DOM nie tylko elementy potomne danego elementu, ale także sam ten element.

/*
Removes the element and 
all descendants of the element from the DOM.
*/
$('#target').remove();

Gratulacje

Gratulacje 🎉

Nauczyliśmy się manipulować DOM.

W następnej sekcji poznamy stylowanie za pomocą JQuery.

Manipulowanie DOM za pomocą jQuery — 2 — ilustracja 14

Często zadawane pytania

Czy lekcja „Manipulowanie DOM za pomocą jQuery — 2” jest bezpłatna?

Tak — pełny tekst „Manipulowanie DOM za pomocą jQuery — 2” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu jQuery Academy, przejdź na CoddyKit PRO. Kurs jQuery Academy zawiera 1 lekcji w sumie.

Co nauczysz się w „Manipulowanie DOM za pomocą jQuery — 2”?

Manipulowanie DOM za pomocą jQuery — 2 Ćwiczysz jQuery Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć jQuery Academy?

Nie wymagamy żadnego doświadczenia. jQuery Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 1.

Ile czasu zajmuje lekcja „Manipulowanie DOM za pomocą jQuery — 2”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji jQuery Academy?

Tak. Każda lekcja jQuery Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

← Powrót do jQuery Academy