JQuery基于id隐藏

时间:2013-08-14 13:38:46

标签: jquery tablerow

我想根据表数据id隐藏表中的一些表行,我只找到了根据表数据值隐藏表行的方法,但是(在我的情况下)不是溶液

例如,假设这是我的表:

<table id='table1' border="1">
<tr id='hideme'>
<td id='letmehide'>row 1, cell 1</td>
<td id='letmehide'>row 1, cell 2</td>
</tr>
<tr id='donthideme'>
<td id='dontletmehide'>row 2, cell 1</td>
<td id='dontletmehide'>row 2, cell 2</td>
</tr>
</table>

我的javascript / JQuery应该是什么样的? 小提琴:http://jsfiddle.net/twyqS/

7 个答案:

答案 0 :(得分:5)

请注意,您的网页上的ID必须是唯一的,因此我建议您使用css类而不是ID

<强> HTML

<table id='table1' border="1">
<tr class='hideme'>
<td class='letmehide'>row 1, cell 1</td>
<td class='letmehide'>row 1, cell 2</td>
</tr>
<tr class='donthideme'>
<td class='dontletmehide'>row 2, cell 1</td>
<td class='dontletmehide'>row 2, cell 2</td>
</tr>
</table>

<强> JS

$('#table1 .hideme').hide();

如果需要,这将允许您隐藏多行。

答案 1 :(得分:2)

首先,您正在使用jQuery,使用它来附加您的事件处理程序。它产生了更多的语义HTML,并且更好地分离了关注点。

关于您的问题,您应该使用:first选择器获取第一个tr元素,然后使用hide()函数:

$('#table1 tr:first').hide();

或者,您可以使用id的{​​{1}},因为它是唯一的:

tr

我建议您熟悉jQuery API,特别是selectors available

答案 2 :(得分:1)

试试这个......

$(document).ready(function(){
    $('button').on('click', function(){
        $('#table1 tr:first').hide();
    });
});

看到这个......

<强> DEMO

答案 3 :(得分:0)

试试这个:

$('#table1 tr[id="hideme"]').hide();//in table1 hide tr that are with attribute id="hideme"

答案 4 :(得分:0)

ID of an element should be unique,因此请在元素中使用class属性而不是ID

尝试

<table id='table1' border="1">
    <tr class='hideme'>
        <td class='letmehide'>row 1, cell 1</td>
        <td class='letmehide'>row 1, cell 2</td>
    </tr>
    <tr class='donthideme'>
        <td class='dontletmehide'>row 2, cell 1</td>
        <td class='dontletmehide'>row 2, cell 2</td>
    </tr>
</table>

然后

$('#table1 tr:has(td.letmehide)').hide()

演示:Fiddle

答案 5 :(得分:0)

$("#letmehide").parent().hide();

答案 6 :(得分:-1)

对于要对多个 tr 使用相同的 id 的其他人 试试这个:

$(this).closest("tr").hide();