我有以下代码:(a fiddle is here)
<img class="changeable" src="http://placehold.it/100x120&text=anniversary">
<ul class="rollover_list">
<li><a href="#" rel="http://placehold.it/100x120&text=anniversary"><span class="orange">> </span>Anniversary</a></li>
<li><a href="#" rel="http://placehold.it/100x120&text=birthday"><span class="orange">> </span>Birthday</a></li>
<li><a href="#" rel="http://placehold.it/100x120&text=christmas"><span class="orange">> </span>Christmas</a></li>
<li><a href="#" rel="http://placehold.it/100x120&text=wedding"><span class="orange">> </span>Wedding</a></li>
</ul>
我正在尝试根据锚点的rel值更改图像的src属性。
我正在尝试这个jquery -
$("ul.rollover_list li a").hover(function() {
var $link = $(this).attr('rel');
var $target = $(this).closest('img.changeable');
$($target).attr('src', $link);
});
因为我需要在页面上多次使用它。
我认为.closest()会通过遍历DOM找到最近的匹配元素吗?
不知道我错过了什么,但不开心。
答案 0 :(得分:5)
该行显示为......
$($target).attr('src', $link);
应该是......
$target.attr('src', $link);
答案 1 :(得分:4)
你的jQuery中有2个问题:
closest()
方法仅适用于树,换句话说:只有当想要的结果是当前元素的父级时才会起作用。$($target)
。 $target
已经是一个元素,你不能使用元素作为选择器选择一个元素,因为你需要一个像find
这样的方法,但是,这不是你想要做的。