Jquery-隐藏子元素悬停,同时显示在父元素上

Jquery-隐藏子元素悬停,同时显示在父元素上,jquery,Jquery,我得到的是一个表,当你们在表行上悬停时,它会显示带有选项的按钮。我想隐藏按钮,当你们悬停在特定的列上时(好吧,表格单元格就是这样) 现在,我正在尝试做这样的事情: $('.f-t-row').on('hover', function(e){ if(e.target.hasClass('block-checkbox')){ if (e.type == "mouseenter") { $('.f-t-row').find('.t

我得到的是一个表,当你们在表行上悬停时,它会显示带有选项的按钮。我想隐藏按钮,当你们悬停在特定的列上时(好吧,表格单元格就是这样)

现在,我正在尝试做这样的事情:

$('.f-t-row').on('hover', function(e){
        if(e.target.hasClass('block-checkbox')){
            if (e.type == "mouseenter") {
                $('.f-t-row').find('.table-ghost-buttons').hide(); 
            }
            else { // mouseleave
                $(this).find('.table-ghost-buttons').show(); 
            }
        }
        else {
            if (e.type == "mouseenter") {
                $(this).find('.table-ghost-buttons').show(); 
            }
            else { // mouseleave
                $('.f-t-row').find('.table-ghost-buttons').hide(); 
            }   
        }       
    });
但我不知道问题出在哪里,因为我无法像这样检查事件目标类:

if(e.target.hasClass('block-checkbox')) 
控制台将始终记录如下内容:

$('.f-t-row').on('hover', function(e){
        if(e.target.hasClass('block-checkbox')){
            if (e.type == "mouseenter") {
                $('.f-t-row').find('.table-ghost-buttons').hide(); 
            }
            else { // mouseleave
                $(this).find('.table-ghost-buttons').show(); 
            }
        }
        else {
            if (e.type == "mouseenter") {
                $(this).find('.table-ghost-buttons').show(); 
            }
            else { // mouseleave
                $('.f-t-row').find('.table-ghost-buttons').hide(); 
            }   
        }       
    });
对象#没有方法“hasClass”

你可以在这里看到:


修复该错误并检查事件目标(鼠标悬停)是否具有特定类的可能方法是什么?

这是因为
e.target
不是jQuery对象,您必须像
$(e.target)
一样构建它,但它与
$(this)
相同

代码:

演示:

为什么不使用
$(这个)。
而不是
e.target
?如果您需要使用e.target,那么您需要将它变成一个jQuery对象来使用
hasClass
$(e.target)
-