Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.09.2022, 20:39
Аспирант
Отправить личное сообщение для Andy_kun Посмотреть профиль Найти все сообщения от Andy_kun
 
Регистрация: 05.08.2022
Сообщений: 64

queryselector - "сложный" запрос.
Никак не могу осилить, как писать запросы сложнее, чем поиск просто по имени класса для queryselector().
Помогите пожалуйста с примером, как должен выглядеть запрос для queryselector() - вот к примеру для такого элемента:

<button type="button" id="compactPitch" class="sc-fzoYHE sc-fznLPX dDZlPu">


То есть найти именно точно совпадение все трех атрибутов и их значений ?
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2022, 21:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Andy_kun,
let button  = document.querySelector(`[type="button"][id="compactPitch"][class="sc-fzoYHE sc-fznLPX dDZlPu"]`);
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2022, 21:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Andy_kun,
https://learn.javascript.ru/css-selectors
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2022, 23:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Тут достаточно #compactPitch.
Id - уникален на станице.

Также к явно сгенерированным классам типа dDZlPu не следует привязываться никогда. Эти классы изменятся в любой момент, при следующем обновлении фронта.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 03.09.2022, 23:59
Аспирант
Отправить личное сообщение для Andy_kun Посмотреть профиль Найти все сообщения от Andy_kun
 
Регистрация: 05.08.2022
Сообщений: 64

Сообщение от рони Посмотреть сообщение
Andy_kun,
let button  = document.querySelector(`[type="button"][id="compactPitch"][class="sc-fzoYHE sc-fznLPX dDZlPu"]`);
Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 04.09.2022, 00:00
Аспирант
Отправить личное сообщение для Andy_kun Посмотреть профиль Найти все сообщения от Andy_kun
 
Регистрация: 05.08.2022
Сообщений: 64

Сообщение от Aetae Посмотреть сообщение
Тут достаточно #compactPitch.
Id - уникален на станице.

Также к явно сгенерированным классам типа dDZlPu не следует привязываться никогда. Эти классы изменятся в любой момент, при следующем обновлении фронта.
А подскажите пожалуйста, а как Вы это поняли ? То есть я имею ввиду почему класс в котором есть "dDZlPu" - обязательно изменится ?
Или что Вы имели ввиду под "следующем обновлении фронта" ?
Ответить с цитированием
  #7 (permalink)  
Старый 04.09.2022, 00:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Andy_kun, ну какбэ я не вижу смысла в наборе символов dDZlPu, с вероятностью в 99% это имя класса сгенерировано минификатором\css-module'м, а не написано руками. Сгенерированные имена как правило меняются при каждой сборке. Каждое обновление кода - новая сборка.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 05.09.2022, 19:16
Аспирант
Отправить личное сообщение для Andy_kun Посмотреть профиль Найти все сообщения от Andy_kun
 
Регистрация: 05.08.2022
Сообщений: 64

Сообщение от Aetae Посмотреть сообщение
Andy_kun, ну какбэ я не вижу смысла в наборе символов dDZlPu, с вероятностью в 99% это имя класса сгенерировано минификатором\css-module'м, а не написано руками. Сгенерированные имена как правило меняются при каждой сборке. Каждое обновление кода - новая сборка.
А если у условной кнопки такое сгенерированное имя класса, и я настроил автоматический клик по кнопке - получается, при каждом генерировании нового класса для кнопки автоматизация будет по сути бесполезной ?
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2022, 19:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Andy_kun, да, привязываться стоит к тому, что не меняется.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отправляется 2й запрос после 1го. (XMLHttpRequest) Артист AJAX и COMET 6 05.10.2016 00:37
Как оборвать на сервере и клиенте запрос если у клиента пропала сеть. beard AJAX и COMET 3 21.12.2012 16:35
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 13.11.2012 00:13
Запрос на сервер Serjuk AJAX и COMET 6 04.06.2012 03:09
Запрос - ответ(VK,json) Slawaq Серверные языки и технологии 4 25.09.2010 00:28