每个嵌套表的gt(x)行的jQuery选择器

时间:2014-01-24 13:55:46

标签: jquery jquery-selectors

我正试图在div中的每个表的每一行除了第一行和第二行之外。

html:

<div id="ContainerDiv" style="width:100%;display:table">
    <div style="display:table-row">
        <div id="FirstTableDiv" style="display:table-cell">
            <table id="Table1">
                <tr>
                    <th colspan="2">Table 1</th>
                </tr>
                <tr align="right">
                    <th>Column 1</th>
                    <th>Column 2</th>
                </tr>
                <tr>
                    <!-- event handler for this and following rows -->
                </tr>
            </table>
        </div>
        <div id="SecondTableDiv" style="display:table-cell">
            <table id="Table2">
                <tr>
                    <th colspan="2">Table 2</th>
                </tr>
                <tr>
                    <th>Column 1</th>
                    <th>Column 2</th>
                </tr>
                <tr>
                    <!-- event handler for this and following rows -->
                </tr>
            </table>
        </div>
    </div>
</div>

不起作用的jQuery:

$('#ContainerDiv > tr:gt(1)').on('dblclick', function () {
    //that's ALL rows of ALL tables, no good
});

尝试#2

$('#ContainerDiv table tr:gt(1)').on('dblclick', function () {
    //does nothing
});

还有其他一些尝试都失败了。我没看到什么?

2 个答案:

答案 0 :(得分:1)

$('#ContainerDiv table tr').not(':nth-child(1),:nth-child(2)')

答案 1 :(得分:0)

我最终使用了多个选择器。它不优雅,但它有效。

$('#Table1 tr:gt(1), #Table2 tr:gt(1)').on('dblclick', function () {
    onBoxRowDoubleClick(this);
});

如果有人能找到更好的方法来实现相同的目标:请随时添加评论或答案。