Jquery排除单击时的第一个td事件

Jquery exclude first td on click event?

本文关键字:第一个 td 事件 排除 单击 Jquery      更新时间:2023-09-26

如何排除我在下面创建的jquery的点击事件中的第一个td?我想排除生成对话框的单击事件中所有第一行的td。

jQuery("#list tbody tr").click(function(){
//some code here
});
<table>
    <tr>
        <td>first</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td>first</td>
        <td></td>
        <td></td>
    </tr>
</table>

如何将first-child选择器与:not:结合使用

jQuery("#list tbody tr td:not(:first-child)").click(function(){
    //some code here
});

示例:http://jsfiddle.net/Rq8Xf/

试试这个,

jQuery("#list tbody tr").each(function() {
    jQuery("td:not(:first)",this).click(function() {
        alert($(this).text());
        //some code here
    });
});

请记住,您在html中也使用tbody

jQuery("#list tbody tr td:not(:first)")
$('#list tr td:not(:first)').click(function() {
    // ...
})

顺便说一句。你从哪里弄来的尸体?所以,您的表需要一个id="list",所以:

<table id="list">
    <tr>
        <td>first</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
        <td>first</td>
        <td></td>
        <td></td>
    </tr>
</table>
jQuery("#list tbody td").not(':first').click(function(){
    //some code here
});

无论它是第一个/中间的,我通常都会在td上放置一个表示noclick的属性,并执行以下操作:

<table>
    <tr>
        <td></td>
        <td noclick></td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td noclick></td>
        <td></td>
    </tr>
</table>

并运行

$('table tr td:not([noclick]').on('click', (obj) => {
    let el = obj.currentTarget;
  
  $(el).css('background-color', 'red');
});

jsFiddle:https://jsfiddle.net/9j2qL7b0/