JQuery从中排除类

JQuery从中排除类,jquery,Jquery,我有一大堆表格,其中有可点击的行,如下所示: $('.clickable-tbody tr').click(function () { var value = $(this).find('td:first').text().replace(/\s/g, ''); var url = "/Link?ID=" + value; $(location).attr('href', u

我有一大堆表格,其中有可点击的行,如下所示:

$('.clickable-tbody tr').click(function () {            
                var value = $(this).find('td:first').text().replace(/\s/g, '');

                var url = "/Link?ID=" + value;
                $(location).attr('href', url);
        })
不幸的是,有两个表中有一些带有按钮的td,所以我需要一种方法将它们从可点击区域中排除(理想情况下是另一个类),这样按钮就可以点击,而不会触发侦听器。因此:

<tbody class="clickable-tbody">
<tr>
<td> //All of these need to have a href listener as in the jquery
</td>
<td class="no-click">
<button></button> //I want the button to fire, and not the href
</td>
<td>
</td>
使用
hasClass()

$('.clickable tbody td')。单击(函数(e){
if(!$(this).hasClass('no-click'))
console.log('clicked')
})
。无需单击
{
边框:1px纯红;
}

点击
点击
点击
点击
$('.clickable tbody tr')。每个(函数(){
$(this.find('td')。每个(函数(){
if($(this).hasClass('no-click')){
$(this).find('button').attr('disabled',true)
}
})
})

点击
点击
点击
点击

您只需使用

$('.可单击的tbody td:not(.no click))。单击(函数(){
var$firstCellOfRow=$(this).closest(“tr”).find(“td:first”);
log(“单击激发:+$firstCellOfRow.text());
})

第1单元
第2单元
第三单元

将事件绑定到那些单元格不是更容易吗?您希望触发事件。不是相反吗?因此,将“iwanttobelicked”类添加到所需的单元格中,并使用选择器$('.clickable tbody.iwanttobelicked')。无论如何,如果要排除这些单元格,也可以使用:not:$('.clickable t正文td:not(.no click)')谢谢-我不这样做的原因是,我想排除大约2个单元格,而不想排除大约50个。在所有50人中增加一个额外的班级似乎很混乱。我厌倦了$('.clickable-tbody td:not(.no-click'),但它似乎不起作用。我会再试一次。我可能会误解这一点-它肯定会使按钮不可点击,而不仅仅是表格数据字段?我已经更新了问题以使其更清晰。谢谢,我仍然没有解决原始元素需要解决的问题。单击tbody tr可获取第一行td:first的值(因为我认为td不知道td:first是什么)。如果我使用td:not,我无法使td:first工作(因为它查看的是表格数据,而不是整行)。可单击tbody tr
$('.clickable-tbody tr').click(function () {            
            var value = $(this).find('td:first').text().replace(/\s/g, '');

        $(this).find('td').each(function () {
            if (!$(this).hasClass('no-click')) {
                var url = "/Link?ID=" + value;
                $(location).attr('href', url);
            }
        })
    })