基于子元素的Jquery.not()

基于子元素的Jquery.not(),jquery,html,onclick,Jquery,Html,Onclick,我在一个表中有一列专门用于评论。我需要的是,当点击单元格时,会出现一个弹出窗口,允许用户添加评论。单元格内将包含现有注释和删除注释的方法。当您单击删除注释时,您不应看到弹出窗口 我试过: $("td").not('div').click(function(){ $('#popup').show(); }); //was hoping this would mean if td is clicked, and clicked area is not a div $("div").c

我在一个表中有一列专门用于评论。我需要的是,当点击单元格时,会出现一个弹出窗口,允许用户添加评论。单元格内将包含现有注释和删除注释的方法。当您单击删除注释时,您不应看到弹出窗口

我试过:

$("td").not('div').click(function(){
    $('#popup').show();
});   //was hoping this would mean if td is clicked, and clicked area is not a div


$("div").click(function(){
    $(this).hide();
});
您可以在
div
上使用来防止
。单击()
事件在DOM树上冒泡:

$("div").click(function(e){
    e.stopPropagation();
    $(this).hide();
});

您可以这样做

$("td").click(function(e){
    if( !$(e.target).is('div') ) {
        $('#popup').show();
    } else {
        $(e.target).hide();
    }
});


如果单击的元素不是div,则显示弹出窗口。实际上,您可以使用此命令删除div click处理程序。您可以使用层次选择器添加事件以单击列 由jQuery提供

$('#table td:eq(index)').click(function(){
 $('#popup').show();
});
PS:索引是一个数字,取决于您希望单击的关联项