将选择器应用于已选择的元素

Apply selector to elements that have already been selected

我觉得我在问一些非常愚蠢的问题,但也许这不是我的时代。如果我已经有一个选定的元素,例如:

let tables = $('table');

但现在我想在那些 tables 之上应用另一个选择器,例如 .some-class,但不创建像这样的新 jQuery 对象

$('table.some-class')

我该怎么做?

使用以下代码,您将 find 标签名称为 table.

的元素下带有 class .some-class 的所有元素
let tables = $('table').find('.some-class');

当然,这只是为了举例,否则你可以简单地做:

let tables = $('table .some-class');

在您的问题中,不清楚您是想要子元素还是只需要 filter 元素。如果您想要具有给定 class 的表格,您可以这样做:

let tables = $('table').filter('.some-class');

您需要使用 .filter() 来为变量选择器添加过滤器。

let tables = $('table');
tables = tables.filter('.some-class');
tables.css('color', 'red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>table</td>
  </tr>
</table>
<table class="some-class">
  <tr>
    <td>table has .some-class</td>
  </tr>
</table>