JS метод Document.querySelector()


Загальний опис

Метод querySelector() дозволяє виконати пошук першого елемента, що відповідає заданому CSS-селектору. Цей метод значно спрощує доступ до елементів DOM, дозволяючи розробникам легко взаємодіяти зі структурою веб-сторінки за допомогою стандартних CSS-селекторів, таких як теги, ідентифікатори, класи, атрибути, псевдокласи тощо.

querySelector() є частиною Document Object Model (DOM) API і може бути використаний з будь-яким об'єктом, що реалізує інтерфейс Document або Element. Це означає, що метод не лише може шукати елементи в рамках усього документа, але й у межах конкретного елемента, що робить його надзвичайно гнучким у використанні.

Метод querySelector() застосовується у різноманітних ситуаціях, від простого доступу до елементів для читання або зміни їх властивостей та стилів, до складніших сценаріїв, таких як динамічне додавання слухачів подій або маніпуляції з DOM.

Простий приклад використання

// Пошук першого елемента <p> у документі
var paragraph = document.querySelector("p");
// Зміна текстового вмісту знайденого елемента
paragraph.textContent = "Змінено текст за допомогою querySelector()";

У цьому прикладі querySelector() шукає перший елемент <p> у документі та змінює його текстовий вміст. Це демонструє базове застосування методу для доступу та модифікації елементів.

Застосування з різними селекторами

Метод querySelector() підтримує різноманітні селектори, що дозволяє виконувати дуже специфічний пошук у DOM. Наприклад, можна використовувати ідентифікатори, класи, атрибути, комбінації селекторів тощо.

// Пошук елемента за ідентифікатором
var specificElement = document.querySelector("#specificElement");

// Пошук елемента за класом
var elementByClass = document.querySelector(".someClass");

// Пошук елемента за атрибутом
var elementByAttribute = document.querySelector("[data-custom='value']");

Складніше застосування

querySelector() може бути використаний для більш складних маніпуляцій з DOM. Наприклад, можна використовувати його для динамічного додавання слухачів подій до певного набору елементів або для умовного застосування стилів.

// Додавання слухача подій до кнопки
document.querySelector("#submitButton").addEventListener("click", function() {
    alert("Кнопка натиснута");
});

// Умовне застосування стилів
var importantParagraph = document.querySelector("p.important");
if (importantParagraph) {
    importantParagraph.style.color = "red";
}

У цих прикладах демонструється застосування querySelector() для додавання функціональності до елементів без прямого доступу до них через HTML-атрибути, що робить код чистішим та більш абстрактним.

Завдяки своїй гнучкості та здатності працювати з будь-якими CSS-селекторами, метод querySelector() є незамінним інструментом у арсеналі розробника JavaScript, дозволяючи ефективно взаємодіяти з DOM для створення динамічних та інтерактивних веб-додатків.

автор: Bond

Порада

Пам'ятайте, що querySelector() повертає перший знайдений елемент, який відповідає заданому селектору. Якщо в документі існує кілька елементів, які відповідають селектору, і вам потрібно працювати з усіма ними, розгляньте використання querySelectorAll(), який повертає всі відповідні елементи у вигляді NodeList.

автор: Bond
Порада

Використовуйте метод querySelector() для оптимізації продуктивності вашого коду. Замість старих методів, таких як getElementById() чи getElementsByClassName(), querySelector() дозволяє виконувати складніші пошуки за один виклик, що може спростити ваш код і зробити його читабельнішим.

автор: Bond
Порада

Для використання querySelector() в контексті конкретного елемента, а не всього документу, викличте метод на елементі, а не на об'єкті document. Це дозволить вам звузити область пошуку до певної частини DOM, ефективно зменшуючи область пошуку та підвищуючи продуктивність скрипта.

автор: Bond

Синтаксис

querySelector(selectors)

Параметри

selectors

Рядок, що містить один або декілька селекторів для пошуку. Цей рядок має бути валідним CSS селектором; у випадку невідповідності викидається виняток SyntaxError.

автор: Bond

Повернення

ElementObject

Повертає об'єкт Element, який представляє перший елемент у документі, що відповідає заданому набору CSS-селекторів, або null, якщо збігів не знайдено. Якщо потрібен список усіх елементів, які відповідають вказаним селекторам, слід використовувати метод querySelectorAll().

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 3.5 3.1 10 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 2
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використовуємо Document.querySelector() для пошуку елемента за класом, а потім динамічно змінюємо його стилі. Такий підхід дозволяє легко адаптувати візуальний вигляд елементів на сторінці без необхідності втручання в HTML-код, що робить його незамінним інструментом для веб-розробників.

HTML

<div class="btn">перший елемент btn</div>
<div class="btn">другий елемент btn</div>

JS

// Визначаємо HTML-структуру з кнопкою
// <button class="btn">Натисни мене</button>

// Використовуємо `Document.querySelector()` для пошуку кнопки за класом
var button = document.querySelector(".btn");

// Змінюємо стилі кнопки
button.style.backgroundColor = "blue";
button.style.color = "white";
button.style.padding = "10px 20px";
button.textContent = "Натиснуто";
автор: Bond

У цьому прикладі ми демонструємо базове застосування методу Document.querySelector(), що дозволяє вибрати перший елемент, який відповідає вказаному CSS-селектору. Цей метод є надзвичайно корисним для маніпуляції з елементами DOM, дозволяючи легко знайти потрібний елемент і змінити його властивості, наприклад, текст або стилі.

HTML

<div id="greeting">Демонстраційний елемент</div>

JS

// Визначаємо HTML-структуру з одним параграфом
// <p id="greeting">Привіт, світ!</p>

// Використовуємо `Document.querySelector()` для пошуку елемента за ID
var p = document.querySelector("#greeting");

// Змінюємо текст вибраного параграфа
p.textContent = "Вітаємо на нашому сайті!";
автор: Bond

У цьому прикладі кнопка з id="themeToggle" дозволяє користувачу переключати між світлою та темною темами оформлення сторінки. Коли користувач натискає на кнопку, JavaScript використовує Document.querySelector() для додавання або видалення класу dark-theme до <body>, змінюючи тим самим стилі сторінки. Також змінюється текст у <div id="content">, інформуючи користувача про поточний стан теми оформлення. Цей приклад показує, як можна динамічно взаємодіяти з елементами сторінки та міняти їх стилі за допомогою JavaScript.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід