Как выбрать элементы в 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>

Другие вопросы по тегам