使用基于列标题的jQuery隐藏表列

时间:2012-06-24 22:07:53

标签: jquery html-table

我在这里看了几个类似的问题,但我似乎仍然可以让它发挥作用。我正在尝试隐藏在页面上自动生成的表中的特定列。我已设法隐藏列标题和第一行中的相应单元格但我不确定如何使其适用于其余行。我错过了什么?

$(document).ready(function() {
    $("table.lc_Table:eq(0) tr:eq(0) th").each(function(ind,ele) {
        if( $.trim($(this).text()).match(/(Available|Order Limit)/gi) )
        {
          $("table.lc_Table:eq(0) tr th:eq("+ind+"), table.lc_Table:eq(0) tr td:eq("+ind+")").hide();
        }
    });
});

<table border="0" cellspacing="0" cellpadding="4" class="lc_Table">
<tr>
    <th class="lc_Heading">
        <p class="PaddedListHeadingsC">Ticket Class</p>
    </th>
    <th class="lc_Heading">
        <p class="PaddedListHeadingsC">Available</p>
    </th>
    <th class="lc_Heading">
        <p class="PaddedListHeadingsC">Order Limit</p>
    </th>
    <th class="lc_Heading">
        <p class="PaddedListHeadingsC">Price</p>
    </th>
</tr>
<tr class="lc_Row0">
    <td class="lc_Cell">
        <p>Attendee1</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>50</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>No Limit</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>$0.00</p>
    </td>
</tr>
<tr class="lc_Row1">
    <td class="lc_Cell">
        <p>Attendee2</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>50</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>No Limit</p>
    </td>
    <td align="right" class="lc_Cell">
        <p>$0.00</p>
    </td>
</tr>

2 个答案:

答案 0 :(得分:2)

应该工作

$('tr').each(functioN(){
    $(this).find('td').eq(0).hide();
})

对于TH&amp; TD可以使用

$('tr').each(functioN(){
    $('tr').children().eq(0).hide();
})

答案 1 :(得分:0)

:eq仅评估一个元素。而是使用相对于父元素计数的:nth-child