Получить ребенка img src (jQuery)

У меня есть несколько div, которые выглядят следующим образом:

<div><a href="our_work.html?clientid=39">
<img src="filestore/data_logos/39.gif" alt="client logo"/>
</a></div>

Я пытаюсь получить изображение src, если вы нажмете на слое div:

$('#carousel div').click(function(event) {
  alert($(this).children('img').attr('src'));
});

Предупреждение всегда возвращается как null, любые идеи?

Ответы

Ответ 1

Используйте это:

$('#carousel div').click(function(event) {
  alert($(this).find('img').attr('src'));
});

Изображения не являются дочерними элементами div... они являются дочерними элементами <a>, которые являются дочерними элементами div, должны идти еще на один уровень вниз.

Ответ 2

Прямо от устья лошади, мой удар:

Учитывая объект jQuery, представляющий набор элементов DOM, метод .children() позволяет нам искать через непосредственных детей этих элементов в дереве DOM...

IMG вложен следующим образом: DIV > A > IMG; вам нужно find() not children().

Ответ 3

Попробуйте следующее:

$('#carousel div').click(function(event) {
  alert($('img', this).attr('src'));
});

~ Matt