2

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

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

虽然这行得通,但我最终会在这个 AJAX Accordion Pane 下有两个表。如何定位某个表并根据需要隐藏该列?

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

4

2 回答 2

3

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

$('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"
于 2012-10-17T13:29:12.377 回答
1

这里有2个场景:

  1. 如果您希望在 2 个表上具有完全相同的行为,则为它们提供相同的类,然后this在 click 函数中使用该词:

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

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

于 2012-10-17T13:31:06.367 回答