jQuery 在悬停时替换元素的文本

标签 jquery hover replace

使用 jQuery,我尝试在悬停时替换这些链接内的文本,包括跨度。然后,当用户悬停关闭时,将再次显示原始文本。

<a class="btn" href="#">
    <img src="#" alt=""/>
    <span>Replace me</span> please
</a>

<a class="btn" href="#">
    <img src="#" alt=""/>
    <span>Replace me</span> please
</a>

最终输出应该是

<a class="btn" href="#">
    <img src="#" alt=""/>
    I'm replaced!
</a>

我正在尝试,但不知道如何将其替换回来。有什么想法吗?

$('.btn').hover(function(){
    $(this).text("I'm replaced!");
});

最佳答案

$('.btn').hover(
    function() {
        var $this = $(this); // caching $(this)
        $this.data('defaultText', $this.text());
        $this.text("I'm replaced!");
    },
    function() {
        var $this = $(this); // caching $(this)
        $this.text($this.data('defaultText'));
    }
);

您可以将原始文本保存在存储在节点本身中的 data-defaultText 属性中,以避免变量

关于jQuery 在悬停时替换元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10701124/

相关文章:

python - 当mysql查询包含python中的占位符时如何搜索武术比赛?

jquery 删除悬停时添加类

Jquery:使用window.location获取特定的url路径

jquery 标签选择

jquery - 使用 jQuery 更改多个背景图像

html - 使悬停背景具有其标题的链接并更改悬停标题

javascript - 没有互联网,Bootstrap 无法工作

css - 当鼠标悬停在子菜单上时,使用 CSS 保持顶级导航悬停效果

regex - 用不同的字符但相同的数量替换字符串中的多个点

python替换字符串忽略新行