Как получить все элементы под тегом html5 <nav> - PullRequest
1 голос
/ 17 февраля 2012

Наценка:

<nav id="gallery">
    <a><img src="images/ThumbImages/thumb_1.jpg" id="1"/></a>
    <a><img src="images/ThumbImages/thumb_2.jpg" id="2" /></a>
    <a><img src="images/ThumbImages/thumb_3.jpg" id="3"/></a>
    <a><img src="images/ThumbImages/thumb_4.jpg" id="4"/></a>
    <a><img src="images/ThumbImages/thumb_5.jpg" id="5"/></a>
    <a><img src="images/ThumbImages/thumb_6.jpg" id="6"/></a>
    <a><img src="images/ThumbImages/thumb_7.jpg" id="7"/></a>
    <a><img src="images/ThumbImages/thumb_8.jpg" id="8"/></a>
    <a><img src="images/ThumbImages/thumb_9.jpg" id="9"/></a>
    <a><img src="images/ThumbImages/thumb_10.jpg" id="10"/></a>
</nav>

Попытка получить вот так:

jQuery:

var elem = $("#gallery");

Но во время отладки он говорит, что длина элемента1.

Как получить все изображения в elem?

Ответы [ 3 ]

4 голосов
/ 17 февраля 2012

С:

var elem = $("#gallery img");

предоставит вам все изображения внутри элемента с идентификатором gallery.


. Вы можете использовать each() для перебора всех изображений также:1009 *

elem.each(function(){
  // do something with each image
});

Просмотрите документацию , чтобы узнать больше о селекторах, если хотите:)

2 голосов
/ 17 февраля 2012

Со следующим кодом:

var elemImgs = $("#gallery img");

$('#gallery') имеет длину только 1, потому что вы специально запросили сам узел #gallery, а не его дочерние элементы.

1 голос
/ 17 февраля 2012
$("nav#gallery  a").each(function(){
  // anchor text
    console.log($(this).text());
  // image src
    console.log($(this).find('img').attr('src'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...