Обращение к элементу в JavaScript

258
19 апреля 2022, 14:10

В jQuery обращение к элементу происходит с помощью $('#id').onEventName()= {} или $('.class').onEventName()= {}, а как происходит обращение к элементу в JavaScript?

Answer 1

document.querySelector('.class').addEventListener(ev, cb, {});

Поиск элемента и addEventListener.

Также для прослушивания событий можно использовать onclick(ev), onmouseenter(ev) и тд.

Answer 2

Прочитайте про селекторы JQuery

пример

Выберите элемент с идентификатором intro:

$("#intro")

пример

Выделите все элементы с классом "intro":

$(".intro")

А нативно на JS можно обратиться

document.getElementById(Id)

document.getElementsByClassName(class)

Answer 3

Проблема (или, преимущество) в том, что jQuery оставляет все необходимые циклы за кулисами. Что с одним элементом, что с нескольким - зачастую код выглядит одинаково. А на стандартном JS нужно делать переборы "вручную".

В JS есть:

  • document.querySelector(".class") - возвращает первый соответствующий элемент на странице, или null, если ничего не найдет.
    * на jQuery, обращение к первому элементу: $(".class").eq(0)

  • document.querySelectorAll(".class") - всегда возвращает NodeList коллекцию всех найденных элементов. К каждому элементу из коллекции можно обращаться через его номер. Если элементов не найдено, вернет коллекцию нулевой длины (length: 0)

И querySelector-ы, и jQuery-функция $() помимо классов, поддерживают любой стандартный CSS-селектор

$("div").addClass("blue");

let div = document.querySelectorAll("div");
for (let i = 0; i < div.length; i++) {
  div[i].classList.add("yellow");
}
// div[0].classList.add("yellow"); // первый
// div[1].classList.add("yellow"); // второй...
// ...

document.querySelector("div").style.backgroundColor = "#2ad";
// обращение к первому элементу
div {
  display: inline-block;
  width: 80px;
  height: 80px;
  margin: 4px;
  font-size: 50px;
}
.blue {
  background-color: #169;
}
.yellow {
  color: #fd0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>

READ ALSO
Изменение стиля Чекбокса (Checkbox JS)

Изменение стиля Чекбокса (Checkbox JS)

Помогите, пожалуйста Делается тест, в рамках которого после нажатия кнопки происходит проверка корректности ответа и правильные ответы...

174
Добавить input в форму при клике

Добавить input в форму при клике

Есть несколько блоков такого вида:

263
Передача параметров PHP из jquery step basic в скрипт

Передача параметров PHP из jquery step basic в скрипт

Установил базовый скрипт jquery step basic example

240