将选择器应用于已选择的元素
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>
我觉得我在问一些非常愚蠢的问题,但也许这不是我的时代。如果我已经有一个选定的元素,例如:
let tables = $('table');
但现在我想在那些 tables
之上应用另一个选择器,例如 .some-class
,但不创建像这样的新 jQuery 对象
$('table.some-class')
我该怎么做?
使用以下代码,您将 find 标签名称为 table
.
.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>