У меня есть макет, похожий на этот:
<div id="..."><img src="..."></div>
и хотел бы использовать селектор jQuery, чтобы выбрать дочернего img
элемента внутри div
клика.
Чтобы получить div
, у меня есть этот селектор:
$(this)
Как я могу получить ребенка img
с помощью селектора?
Вы также можете использовать
который вернул бы все
img
s, которые являются потомкамиdiv
источник
$(this).children('img')
было бы лучше. например,<div><img src="..." /><div><img src="..." /></div></div>
потому что предположительно пользователь хочет найти imgs 1-го уровня.Если вам нужно получить первый уровень
img
ниже ровно на один уровень, вы можете сделатьисточник
:first
соответствовать только « вниз ровно на один уровень », или же она соответствует «первой» , который был найден?img
.children()
откуда происходит «вниз ровно на один уровень» и:first
откуда «первый»..find()
вместо.children()
this
уже была ссылка на<div>
содержащую<img>
, но если у вас есть несколько уровней тега для перехода от ссылки, которую вы имели, то вы определенно могли бы составить более одногоchildren()
вызоваЕсли за вашим тегом DIV сразу же следует тег IMG, вы также можете использовать:
источник
В прямых детей
источник
Вы можете найти все элементы img родительского div, как показано ниже
Если вы хотите конкретный элемент img, вы можете написать так
Ваш div содержит только один элемент img. Так что для этого ниже правильно
Но если ваш div содержит больше элемента img, как показано ниже
тогда вы не можете использовать верхний код для поиска альтернативного значения второго элемента img. Так что вы можете попробовать это:
В этом примере показано общее представление о том, как найти фактический объект в родительском объекте. Вы можете использовать классы для дифференциации вашего дочернего объекта. Это легко и весело. т.е.
Вы можете сделать это, как показано ниже:
и более конкретно, как:
Вы можете использовать find или children, как указано выше. Для получения дополнительной информации посетите Дети http://api.jquery.com/children/ и найдите http://api.jquery.com/find/ . Смотрите пример http://jsfiddle.net/lalitjs/Nx8a6/
источник
Способы обращения к ребенку в jQuery. Я резюмировал это в следующем jQuery:
источник
Не зная ID DIV, я думаю, вы можете выбрать IMG следующим образом:
источник
Попробуйте этот код:
источник
$($(this).children()[0])
.$(this:first-child)
$($(this).children()[x])
использовать$(this).eq(x)
или, если вы хотите первый, просто$(this).first()
.Вы можете использовать любой из следующих методов:
1 найти ():
2 детей ():
источник
JQuery's
each
является одним из вариантов:источник
Вы можете использовать Child Selecor для ссылки на дочерние элементы, доступные в родительском элементе .
И ниже, если у вас нет ссылки на
$(this)
и вы хотите сделать ссылкуimg
доступной вdiv
другой функции.источник
Также это должно работать:
источник
this
Вот функциональный код, вы можете запустить его (это простая демонстрация).
Когда вы щелкаете по DIV, вы получаете изображение несколькими различными способами, в этом случае «this» - это DIV.
Надеюсь, поможет!
источник
У вас может быть от 0 до много
<img>
тегов внутри<div>
.Чтобы найти элемент, используйте
.find()
.Чтобы сохранить ваш код в безопасности, используйте
.each()
.Использование
.find()
и.each()
вместе предотвращает ошибки нулевых ссылок в случае 0<img>
элементов, а также позволяет обрабатывать несколько<img>
элементов.источник
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
event.stopImmediatePropagation()
элемент, чтобы предотвратить это.источник
Вы могли бы использовать
источник
Если ваш img точно первый элемент внутри div, попробуйте
Показать фрагмент кода
источник