如何在 jQuery 中同时使用 OR 和 .find()?

How can I use both OR and .find() in jQuery?

这是我的代码:

$('.mycls1 table tr td, .mycls2 table tr td').css('opacity', '.2');

现在我想用两个变量代替.mycls1.mycls2,像这样:

var mycls1 = $(`.mycls1`),
    mycls2 = $(`.mycls2`);

所以我必须使用 .find() 到 select,就像这样:

mycls1.find('table tr td').css('opacity', '.2');
mycls2.find('table tr td').css('opacity', '.2');

看到了吗?在这种情况下 (using .find()) 迫使我使用两行单独的代码来 selecting 这两个元素。

无论如何,我想知道是否可以在同一行中同时使用 .find() 和 OR (,)?


请注意,在我的示例中,声明两个变量并在其中初始化这两个元素是无效的,但实际上是有效的。所以我只需要学习如何做到这一点的概念。

我认为你应该试试下面的代码

var mycls = $(`.mycls1, .mycls2`);
mycls.find('table tr td').css('opacity', '.2');

您可以使用 add() 将元素添加到集合中。

mycls1.add(mycls2)....

这将添加来自 mycls2 的元素。

var mycls1 = $(`.mycls1`),
    mycls2 = $(`.mycls2`);

mycls1.add(mycls2).css('opacity', '.2');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mycls1">
  <table>
    <tr>
      <td>1</td>
    </tr>
    <tr>
      <td>2</td>
    </tr>
    <tr>
      <td>3</td>
    </tr>
  </table>
</div>
<div class="mycls2">
  <table>
    <tr>
      <td>4</td>
    </tr>
    <tr>
      <td>5</td>
    </tr>
    <tr>
      <td>6</td>
    </tr>
  </table>
</div>