jQuery Academy · Урок

Манипуляции с DOM с помощью jQuery — 2

Манипуляции с DOM с помощью jQuery — 2

Урок 1 из 114 шагов

«Манипуляции с DOM с помощью jQuery — 2» — бесплатный урок jQuery Academy на CoddyKit. Это урок 1 из 1. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения jQuery Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс jQuery Academy содержит 1 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Введение и append

Здравствуйте!

До сих пор в наших примерах мы выполняли обновление или чтение объектов HTML DOM. 

Теперь мы изучим операцию вставки с помощью метода append().

Рассмотрим пример.

<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

После выполнения приведённого выше кода метод append добавит HTML-код (переданный в качестве аргумента) в конец элемента #test.

prepend

Метод prepend()

Противоположностью метода append() является метод prepend() . Метод append() добавляет содержимое в конец целевого элемента, а prepend — в начало.

<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>

Вопрос

С помощью методов append и prepend мы могли добавлять новые элементы HTML в конец и начало целевого элемента.

Но как добавить элемент рядом с целевым элементом?

Пример

Продолжим предыдущий пример.

В первом случае наш узел HTML выглядит следующим образом.

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

Методы after и before

Методы after() и before()

Мы можем добавлять элементы HTML перед целевым элементом и после него с помощью методов after() и before().

В приведённом ниже коде новый элемент добавляется к элементу с идентификатором #test непосредственно перед ним и сразу после него в иерархии соседних элементов.

<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>

Множественная вставка

До сих пор мы рассмотрели методы prepend(), append(), before() и after(). Я забыл объяснить ещё одну тему. Извините, иногда я бываю забывчивым 😇.

Итак, что делать, если мы хотим добавить одновременно больше одного узла?

Как показано в примере ниже, 

мы можем добавить одновременно несколько узлов, передав более одного аргумента соответствующим методам.

<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>

Пример цепочки вызовов

В примере выше одновременно было добавлено несколько узлов. Как видите, синтаксис остаётся одинаковым, даже если используются разные методы.

Кроме того, мы можем писать код в jQuery, объединяя вызовы. 

Так мы можем писать более короткий и эффективный код.

Рассмотрим пример и научимся писать цепочки вызовов в 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>

Метод wrap

Метод wrap()

Какой метод использовать, если нужно поместить элемент HTML в другой контейнер?

Конечно, метод wrap().

В следующем примере показано простое использование метода 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

Метод unwrap

Метод unwrap()

Этот метод является противоположностью метода wrap(). С помощью метода unwrap() мы можем удалить родительский элемент целевого элемента.

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

Метод empty

Метод empty()

Рассмотрим удаление содержимого элементов HTML.

С помощью метода empty() мы можем удалить всех потомков целевого элемента.

// 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();

Метод remove()

Метод remove() удаляет из DOM не только потомков элемента, но и сам элемент.

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

Поздравляем

Поздравляем! 🎉

Мы изучили манипуляции с DOM.

В следующем разделе мы изучим стилизацию с помощью jQuery.

Манипуляции с DOM с помощью jQuery — 2 — иллюстрация 14
Можно начать бесплатно

Изучай JavaScript с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
22
Уроки
48

Часто задаваемые вопросы

Урок «Манипуляции с DOM с помощью jQuery — 2» бесплатный?

Да — полный текст урока «Манипуляции с DOM с помощью jQuery — 2» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс jQuery Academy, подпишись на CoddyKit PRO. Курс jQuery Academy содержит 1 уроков всего.

Чему я научусь в уроке «Манипуляции с DOM с помощью jQuery — 2»?

Манипуляции с DOM с помощью jQuery — 2 Ты практикуешь jQuery Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать jQuery Academy?

Предыдущий опыт не требуется. jQuery Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 1.

Сколько времени занимает урок «Манипуляции с DOM с помощью jQuery — 2»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке jQuery Academy?

Да. Каждый урок jQuery Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

← Назад к jQuery Academy