jQuery find('img')。attr('src')不起作用

时间:2014-04-01 11:41:43

标签: jquery

以下代码不起作用:

find('img').attr('src')

我希望将鼠标悬停在旁边区域并打开/关闭图像。

HTML

<aside style="width:200px;height:300px;text-align:center;">
  <img class="img" src="imgs/photo_off.png" alt="" >
</aside>

的JavaScript

$("aside").hover(
    function () {
        $(this).find('img').attr('src') = $(this).find('img').attr('src').replace("_off", "_on");
    },
    function () {
        $(this).find('img').attr('src') = $(this).find('img').attr('src').replace("_on", "_off");
    }
);

2 个答案:

答案 0 :(得分:5)

您不能像这样为函数调用语句赋值。它应该抛出像

这样的错误
  

未捕获的ReferenceError:分配中的左侧无效

使用.attr(name, value)

的制定者版本
$(this).find('img').attr('src', $(this).find('img').attr('src').replace("_off", "_on"));

.attr(name, callback)

$("aside").hover(function () {
    $(this).find('img').attr('src', function (i, src) {
        return src.replace("_off", "_on");
    })
}, function () {
    $(this).find('img').attr('src', function (i, src) {
        return src.replace("_on", "_off");
    })
});

答案 1 :(得分:0)

$(this).find('img')[0].src = $(this).find('img').attr('src').replace("_off", "_on");