Мы все знаем DOM и его теоретическую сказку.

Давайте сразу перейдем к тому, чтобы увидеть это более практичным способом!

Это пользовательский интерфейс, шаблон для внедрения основ DOM.

Таким образом, мы все можем очень легко сделать этот шаблон, используя Bootstrap и некоторую базовую структуру HTML. Попробуйте один раз, иначе вот код для вас :-)

‹!DOCTYPE html›

‹html язык="ru"›

‹метакодировка="UTF-8›

‹meta name=”viewport” content=”width=device-width, initial-scale=1.0›

‹ссылка rel="таблица стилей" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css›

‹название›Курсы | JS ‹/название›

тело{

дисплей: гибкий;

выравнивание содержимого: по центру;

выравнивание элементов: по центру;

мин-высота: 100вх;;

}

#бтнн{

отображение: встроенный блок;

поле справа: 5px;

}

}

‹класс кузова=”bg-dark”›

‹div class=”контейнер bg-warning p4›

‹h1 class="text-center"›Изучите код сегодня!‹/h1›

‹ul class="list-group"›

‹класс li=”элемент-группы-списка”›

Курс Javascript ‹span class="float-right"›$2,1‹/span›

</li>

</ul>

‹тип кнопки=”кнопка” id=”btnn” класс=”btn btn1 btn-success btn-lg mt-4 mx-auto d-block sort-btn”›

Низкоуровневые курсы

‹тип кнопки = «кнопка» id = «btnn» class = «btn btn-primary btn-lg mt-4 mx-auto d-block hsort-btn»›

Курсы высокого класса

‹/дел›

‹! — ‹script src="app.js"›‹/script› →

‹/html›

Вы можете добавить в него несколько курсов, добавляя множество элементов ‹li› очень статично. Но что, если мы хотим использовать возможности JS для динамического внедрения в него элементов.

Давайте поймем магию app.js: -

Сначала нам нужно построить объект, состоящий, конечно же, из имени и цены. Это содержимое, которое будет динамически добавляться на веб-страницу.

Теперь ваша задача

  1. Сделать функцию
  2. Перебрать массив
  3. Создайте элементы списка и введите в него элементы списка.

Итак, в функцию generateResult().. мы сначала получаем элемент пользовательского интерфейса, а затем делаем html внутри ul равным пустому/пустому (для будущих целей, когда мы добавим кнопки на страницу.. подробно объясним позже).

Затем вы должны перебрать объект курсов, используя foreach с именем аргумента: курс и функцию обратного вызова ()=>{}, которая гласит:

  1. Создайте элемент ‹li› с помощью document.createElement().
  2. Добавьте в него имя класса, как предыдущий статический элемент li, который мы объявили выше, используя classList.add(‘name’)
  3. Теперь ‹li› должно состоять из названия курса, созданного с помощью createTextNode(object.name) .. , то есть курсы.название.
  4. После этого нам нужно добавить имя класса и название курса в ‹li›
  5. То же самое происходит и с ценой: сначала нам нужно создать в ней элемент ‹span›.
  6. Затем нам нужно добавить имя класса к элементу ‹span›, используя то же имя класса, которое мы использовали со структурой статической веб-страницы.. показано вверху.
  7. Теперь диапазон должен добавить цену, объявленную в объекте курсов, используя create TextNode(courses.price) с конкатенацией знака $
  8. Теперь вам нужно добавить эту цену в ‹span›
  9. А затем добавьте ‹span› к ‹li›
  10. И, наконец, ‹li› добавляется к ‹ul› с помощью appendChild().

Вот как страница выглядит сейчас:

Элементы списка вводятся в веб-страницу HTML динамически.

Теперь одна проблема заключается в том, что всякий раз, когда вы перезагружаете страницу, динамически вводимые элементы списка исчезают.

Таким образом, решение состоит в том, чтобы добавить к нему прослушиватель событий:

window.addEventListener("load", generateList);

Осталась функция Button, мы хотим, чтобы кнопки сортировали курсы по цене как по возрастанию, так и по убыванию.

поэтому кнопка захватывается с помощью document.querySelector(), и к ней присоединяется прослушиватель событий, так что, когда вы нажимаете кнопку, выполняется обратный вызов, где цены сортируются с использованием встроенной функции sort().

Метод arr.sort() используется для сортировки массива на месте в заданном порядке в соответствии с функцией compare().

arr.sort(compareFunction)

compareFunction: этот параметр используется для сортировки элементов по разным атрибутам и в другом порядке.

  • функция сравнения (а, б) ‹ 0
  • функция сравнения (а, б) › 0
  • функция сравнения (а, б) = 0

Итак, это все основы DOM и его основы, которые служат базовым ядром для выполнения любой динамической операции на веб-странице!

Спасибо! Я надеюсь, что вы узнаете что-то из этого.