Как выбрать элементы в JavaScript по имени класса, совпадающему с несколькими именами классов?
Я пытаюсь написать JavaScript, который будет выбирать элемент, который совпадает с любым из значений "_3eAQiD" или "_2UDlNd"? Страница, которую я использую, часто меняет имя класса?
В настоящее время я использую следующий код:
result.item = getItemName("_2UDlNd");
Я передаю имя класса "_2UDlNd" в функцию getItemName(), где я использую его в качестве аргумента для получения элемента по имени класса:
itemName = document.getElementsByClassName(item_class)[0].innerText;
Тем не менее, есть ли способ, я могу передать несколько имен классов, разделенных OR или в виде массива, в функцию getItemName(), так что getElementsByClassName может выбрать элемент с любым из имен классов, которые совпадают с имя класса?
Что-то вроде этого:
result.item = getItemName("_2UDlNd" || _3eAQiD);
Моя проблема заключается в том, что, поскольку веб-страница продолжает изменять имя класса, я должен постоянно обновлять имя класса в функции getItemName? Как я могу сделать процесс динамичным?
2 ответа
Ты можешь использовать querySelectorAll
:
result.item = document.querySelectorAll("._2UDlNd,._3eAQiD")[0].innerText;
Использование querySelectorAll
и запятые:
console.log(document.querySelectorAll('._3eAQiD , ._2UDlNd'));
<div class="_3eAQiD">
A
</div>
<div class="_2UDlNd">
B
</div>