我是jquery的初学者。 我想只显示带有类过滤器的前5行表。 我尝试了下面的声明,但它不起作用。
$('.filter').('tr').slide(5).hide()
何时使用$('.filter tr').slice(5).hide()
,他只显示页面上第一个表格的前五个TR。
存档的最佳方式是什么?
答案 0 :(得分:1)
重复列表:
$('.filter').each(function() { $(this).find('tr').slice(5).hide(); });
答案 1 :(得分:0)
或者你可以使用:nth-child
选择器和正确的等式[Docs] [1]。
$('.filter tr:nth-child(n+6)').hide()

table {
border: 1px solid black;
margin-bottom: 10px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="filter">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
</table>
<table class="filter">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
</table>
<table class="filter">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
</table>
<table class="filter">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
</table>
&#13;
$('.filter tr:nth-child(n+6)').hide()