JQuery - изменить IMG SRC при опрокидывании - PullRequest
0 голосов
/ 25 октября 2011

У меня следующий код: ( здесь скрипка )

<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>

, и я пытаюсь изменить атрибут src изображения, основываясь на значении relякорь.

Я пробую этот 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?

Не знаю, чего мне не хватает, но это не радует.

Ответы [ 2 ]

5 голосов
/ 25 октября 2011

Та строка, которая выглядит как ...

$($target).attr('src', $link);

вероятно должно быть ...

$target.attr('src', $link);
4 голосов
/ 25 октября 2011

У вас есть 2 проблемы в вашем jQuery:

  1. Метод jQuery closest() работает только в деревьях, другими словами: он будет работать, только если требуемый результат является родителем текущего элемента.
  2. $($target).$target уже является элементом, вы не можете выбрать элемент, используя элемент в качестве селектора, для этого вам потребуется метод, подобный find, однако это не то, что вы пытались сделать.

http://jsfiddle.net/U7SNz/2/

...