0

我知道多个选择器是允许的,我看过一个例子

我试图复制,但它没有按预期工作:

<table id="tbl">
    <tr>
        <td>one</td>
        <td>two</td>
        <td>three</td>
        <td>four</td>
    </tr>
</table>

$("#tbl").on("dblclick", 'td:not(:first-child), td:not(:last-child)', function() {
    alert("clicked");
});

如果我只使用第一个孩子或最后一个孩子,但不能一起使用,它会起作用。我希望只有不是第一个和最后一个的单元格可以点击。

4

1 回答 1

1

在您的示例中,您选择<table>,然后尝试过滤掉<td>哪些是<table>. 这是行不通的,因为您只能从基本选择器中过滤掉东西。您应该选择<td>直接,然后从中过滤掉第一个和最后一个孩子。

$("#tbl td:not(:first-child):not(:last-child)").on("dblclick", function() {
    alert("clicked");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="tbl">
    <tr>
        <td>one</td>
        <td>two</td>
        <td>three</td>
        <td>four</td>
    </tr>
</table>

于 2020-11-18T21:00:39.017 回答