javascript - Jquery:如何在函数内部存储变量并在外部使用它?

标签 javascript jquery

我正在尝试根据鼠标悬停事件更改文本:

$(document).ready(function() { 
    $('.blog_post_container').hover(function() {
        var title = $(this).find('.blog_title').text();  
        $(this).find('.blog_title').text("READ MORE >");
    }, function() {
        $(this).find('.blog_title').text(title);
    }
});

在 HTML 中:div.blog_title 位于 div.blog_post_container 内。

变量“title”是在鼠标悬停时调用的函数内创建的,用于存储该特定博客文章的博客标题。我的想法是稍后当鼠标离开 blog_post_container 时使用它,但我无法在创建它的函数之外使用它。

我无法在该函数之前创建变量,因为它始终返回第一篇博客文章的标题。

我知道解决方案很简单,但我只是找不到它。如有任何帮助,我们将不胜感激!

最佳答案

像这样存储标题:

$(this).data('blog-title', title);

稍后您只需引用该元素即可检索它:

var title = $('.blog_post_container').data('blog-title');

.data() API

关于javascript - Jquery:如何在函数内部存储变量并在外部使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32937639/

相关文章:

javascript - 添加回车到 window.location 电子邮件调用

javascript - 来自索引为字符串的数组的随机字符串

jquery - 找不到最近的 table

jquery - 为什么 LESS 不能在 IE8 上运行?

javascript - $.getJSON 使其结果全局化

javascript - 使用纯 JavaScript 进行点分页

javascript - 检查一个具有动态值的单选按钮

javascript - 如何设置基础对象的默认值?

javascript - 用 jquery 更新 div

javascript - 如何制作带有文件字段的隐藏表单