我想通过使用jQuery隐藏第三行之后的表中的所有行。这是我的方法:
<table>
<tr id="duplicate">
<td style="text-align:center;">1</td>
</tr>
<tr id="duplicate">
<td style="text-align:center;">2</td>
</tr>
<tr id="duplicate">
<td style="text-align:center;">3</td>
</tr>
<tr id="duplicate">
<td style="text-align:center;">4</td>
</tr>
<tr id="duplicate">
<td style="text-align:center;">5</td>
</tr>
</table>
jQuery的:
$(document).ready(function() {
$('#duplicate'):nth-child(n+3).hide();
alert('123');
});
当然警报显示很好,所以它会被执行但我的桌子没有任何结果。
答案 0 :(得分:8)
永远不要为每个id
使用相同的tr
...从不。 Id
在HTML中具有唯一名称。您不会收到警告,但代码将无法正确处理。
使用class而不是id。
<tr class="duplicate">
<td style="text-align:center;">1</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">2</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">3</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">4</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">5</td>
</tr>
...
和Javascript:
$(document).ready(function() {
$('.duplicate:gt(2)').hide();
alert('123');
});
答案 1 :(得分:4)
首先,id名称必须是唯一的。你应该使用类。
$(document).ready(function() {
$('.duplicate:gt(2)').hide();
});
答案 2 :(得分:3)
使用 gt()选择器
$('.duplicate').gt(2).hide();
答案 3 :(得分:3)
不要为每个人设置ID,只为表格设置:
<table id="duplicate">
<tr>
<td style="text-align:center;">1</td>
</tr>
<tr>
<td style="text-align:center;">2</td>
</tr>
<tr>
<td style="text-align:center;">3</td>
</tr>
<tr>
<td style="text-align:center;">4</td>
</tr>
<tr>
<td style="text-align:center;">5</td>
</tr>
</table>
将脚本更改为:
$(document).ready(function() {
$('#duplicate tr:nth-child(n+3)').hide();
alert('123');
});
答案 4 :(得分:1)
好的,首先,不要使用ID属性替换ID与类...
<table>
<tr class="duplicate">
<td style="text-align:center;">1</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">2</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">3</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">4</td>
</tr>
<tr class="duplicate">
<td style="text-align:center;">5</td>
</tr>
$('.duplicate').gt(2).hide();
应该做得很好......
答案 5 :(得分:1)
试试这个:
$(document).ready(function() {
$("table tr:first").nextAll().hide();
));
并为所有<tr>
答案 6 :(得分:0)
试试这个
$(document).ready(function ()
{
$("table tr").each(function (indx, ob)
{
if (indx > 2)
{
$(ob).hide();
}
})
});