带有关键字 : 'this' 的 jQuery悬停函数

标签 jquery hover this

我无法理解和使用 $(this) 关键字。例如,使用 http://api.jquery.com/hover/ 中的悬停类示例

HTML

 <ul>
    <li>Milk</li>
    <li>Bread</li>
    <li class='fade'>Chips</li>
    <li class='fade'>Socks</li>
</ul>

<div class='fade'>My Div<div>

JQUERY

这将在 All <li> 上添加该功能元素。

$("li").hover(
    function () {
        $(this).append($("<span> ***</span>"));
    },
    function () {
        $(this).find("span:last").remove();
    }
);

如果我只想在淡入淡出类上添加该功能。 我可以这样做

$("li.fade").hover(
    function () {
        $(this).append($("<span> ***</span>"));
    },
    function () {
        $(this).find("span:last").remove();
    }
);

这将选择所有淡入淡出类,包括 DIV

 $("li").hover(
        function () {
            $('.fade').append($("<span> ***</span>"));
        },
        function () {
            $('.fade').find("span:last").remove();
        }
    );

为什么这不起作用?

$("li").hover(
    function () {
        $(".fade", this).append($("<span> ***</span>"));
    },
    function () {
        $(".fade", this).find("span:last").remove();
    }
);

我正在学习 jQuery。谢谢!

最佳答案

调用$(".fade", this)将查找类 fade 的元素在 this 表示的元素内。它的作用与 $(this).find(".fade") 相同.

thishover 所在的元素引发事件,这是 li元素,它不会找到任何内容,因为该类位于该元素上,而不是该元素的子元素上。

关于带有关键字 : 'this' 的 jQuery悬停函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15189800/

相关文章:

css - 悬停时字形图标和文本同时变色

CSS 将鼠标悬停在 <li> 上并显示隐藏的 <ul>

jquery - 包含元素的每一行,然后删除该行中的类

javascript - jQuery "on"模糊事件

jquery - 获取最后一行第一个单元格的值

javascript - JQuery 删除带有指针事件的类 none 不起作用

javascript - Safari 10.0 上的悬停效果问题

javascript - React Context API Consumer block 内的调试器 - 这是未定义的

javascript - 在 JavaScript 中将方法作为参数传递

javascript - 如何自定义或移动核心文件?