динамически добавлять изображение SRC с помощью JavaScript

0

Я пытаюсь добавить изображение src в изображение в div по щелчку эскиза. Проблема заключается в том, что изображение src не изменяется при щелчке другого элемента.

Код HTML:

  <a class="thumbnail" href="#" >
     <img  src="img1">
     <img  src="img2">
     <img  src="img3">
  </a>



 <div  class="imageforthumb">
    <img class="imageforthumbs">
 </div>

Использование Javascript:

$('.thumbnail').click(function () {
var images = $('.thumbnail img').attr('src');
$(".imageforthumbs").attr('src', images)
});

как только я щелкнул первое изображение img1, он установлен на img1 и не меняет img2, когда я нажимаю миниатюру. Пожалуйста, советую, что здесь может быть неправильно?

3 ответа

0
Лучший ответ

ваш js-код неверен. пытаться

$('.thumbnail').click(function (eve) {
    $(".imageforthumbs").attr('src', $(eve.target).attr('src'));
});
  • 0
    ха, другое состояние гонки ;-). если это решение отвечает вашим потребностям, примите концептуально идентичный ответ Jamiec, который был представлен за несколько минут до меня.
  • 0
    Большое спасибо. Это работает с небольшим добавлением 'img' перед .thumbnail $ ('. Thumbnail img'). Click (function () {$ (". Imageforthumbs"). Attr ('src', $ (this) .attr ( 'src'));});
3

С этой строкой:

var images = $('.thumbnail img').attr('src');

Вы всегда получаете первое изображение src.

Измените свой код на:

$('.thumbnail img').click(function () {
    var images = $(this).attr('src');
    $(".imageforthumbs").attr('src', images)
});

Пример: http://jsfiddle.net/8hTrr/


Edit: Как указано, вам не нужно jQuery, чтобы получить attr, вам просто нужно:

$('.thumbnail img').click(function () {
     $(".imageforthumbs").attr('src', this.src)
});

Обновленный пример: http://jsfiddle.net/8hTrr/1/

  • 1
    Почему $(this).attr('src') над this.src ?
  • 0
    Вы правильно поняли :) красиво и чисто
0

Делегируйте событие на каждое изображение в теге <a></a>. Затем привяжите src щелкнутого <img/>.

$('.thumbnail').on('click', 'img', function () {
    $(".imageforthumbs")[0].src = this.src;
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню