JQuery隐藏特定表的列

时间:2012-10-17 13:21:33

标签: jquery asp.net html-table

我读了一篇关于如何使用JQuery隐藏列的文章。这让我使用下面的代码:

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= btnHideColumn.ClientID %>').click(function () {
            $('td:nth-child(1)').hide();
        });
    });
</script>

虽然这可行,但我最终会在这个AJAX手风琴窗格下有两张桌子。我如何定位某个表并根据需要隐藏列?

我的表是在代码后面生成的。所以不确定哪些属性需要事先填写。

2 个答案:

答案 0 :(得分:2)

您还应在单元格选择器中指定表格,例如:

$('table:eq(0) td:nth-child(1)').hide(); // table:eq(0) selects first table

$('table#list td:nth-child(1)').hide(); // table#list selects table with id="list"

答案 1 :(得分:1)

这里有两种情况:

  1. 如果你想在2个表上使用完全相同的行为,那么给它们两个相同的类,然后在click函数中使用单词this

    <table class="data">....
    
    <script type="text/javascript">
    $(document).ready(function () {
        $('.data').click(function () {
            $(this).find('td:nth-child(1)').hide();
        });
    });
    

  2. 如果您需要不同的行为,请为每个人提供不同的ID,并为每个人绑定不同的点击事件。