javascript - 在 jQuery 中获取变量

标签 javascript jquery closures hover

我有这样的代码:

<script type="text/javascript">
    var currentPicture;//default picture
    var picEL;//the image viewer element
    jQuery("#backImageShower").hover(
        function(i)
        {
            picEL = jQuery("#dynloadarxdock > img");
            currentPicture = picEL.attr("src");
            picEl.attr("src","back.jpg");
        },
        function()
        {
            picEl.attr("src",currentPicture);
        }
    );
</script>

但是当我运行此代码时,它说 picEl 未定义。我认为这可能是因为闭包,但这段代码运行完美:

<script type="text/javascript">
    var currentPicture;//default picture
    jQuery("#backImageShower").hover(
        function(i)
        {
            currentPicture = jQuery("#dynloadarxdock > img").attr("src");
            jQuery("#dynloadarxdock > img").attr("src","back.jpg");
        },
        function()
        {
            jQuery("#dynloadarxdock > img").attr("src",currentPicture);
        }
    );
</script>

而且这段代码还包含全局变量并且它可以工作。

谁能告诉我为什么吗?

谢谢。

最佳答案

问题是你混合了肠衣。该变量声明为 picEL,但有时用作 picEl(小写“l”,这是错误所在)。

关于javascript - 在 jQuery 中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4319282/

相关文章:

jquery serializeArray 没有获取 html textarea 和复选框值

javascript - 切换菜单激活

php - 匿名函数/闭包和使用 self::or static::

javascript - 有没有办法在 JavaScript 中动态修改函数的闭包?

javascript - 关于 javascript 范围的澄清

javascript - 无法读取未定义 jqgrid 的属性 'errcap'

javascript - 为什么 [,,].join (' ' ) 长度比数组长度小一?

javascript - 如何使用 ajax 在 Rails 中分配和访问 javascript 变量

javascript - 按字母顺序对可排序列表中超过 13 项的元素进行排序

javascript - 一次打印一个数字