如何通过 class 名称与多个 class 名称匹配来 javascript 中的 select 元素?

How to select elements in javascript by class name matching with multiple class names ?

我正在尝试编写一个 javascript,它将 select 一个与值“_3eAQiD”或“_2UDlNd”中的任何一个相匹配的元素?我正在使用的页面经常更改 class 名称?

目前,我正在使用以下代码:

result.item =  getItemName("_2UDlNd"); 

我将 class 名称“_2UDlNd”传递给 getItemName() 函数,我将其用作参数以通过 class 名称获取元素:

itemName = document.getElementsByClassName(item_class)[0].innerText;

但是,有什么办法可以将多个 class 名称(用 OR 分隔或以数组形式)传递给 getItemName() 函数,这样 'getElementsByClassName' 可以 select class 名称与 class 名称匹配的项目?

像这样:

result.item =  getItemName("_2UDlNd" || _3eAQiD);

我的问题是,由于网页一直在更改 class 名称,我必须不断更新 getItemName 函数中的 classname 吗?我可以通过什么方式使过程动态化?

使用querySelectorAll和逗号:

console.log(document.querySelectorAll('._3eAQiD , ._2UDlNd'));
<div class="_3eAQiD">
  A
</div>
<div class="_2UDlNd">
  B
</div>

您可以使用 querySelectorAll:

result.item = document.querySelectorAll("._2UDlNd,._3eAQiD")[0].innerText;