Выяснить JQuery селектор для изображения в ссылке в span в div - PullRequest
1 голос
/ 24 ноября 2011

У меня были проблемы с хэшированием селектора для изображения внутри этого беспорядка кода ниже. Первоначально думал, что $('img.gallery')[0]; будет работать, но это не .. также пытался $('img.advance-link') и $('.gallery').find(img)[0];

Спасибо за вашу помощь!

JS Fiddle: http://jsfiddle.net/danielredwood/UfGrM/

HTML:

<div class="gallery front">
    <span class="image-wrapper current">
        <a class="advance-link" rel="history" href="#1" title="Title #10">
            <img alt="Title #10" src="../img/10.jpeg">
        </a>
    </span>
</div>

Ответы [ 6 ]

1 голос
/ 24 ноября 2011
$('.gallery .image-wrapper .advance-link img').css('border', '10px solid black');

Просто используйте его как селектор CSS.

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

Если вы хотите получить доступ к результату jQuery, учтите:

  • result [0] даст вам узел DOM и никакой объект jQuery, поэтому результат[0] .attr ('href') будет ошибкой
  • result.eq (0) даст вам объект jQuery, содержащий только первый результат, поэтому result.eq (0) .attr ('href') будет работать.
1 голос
/ 24 ноября 2011

с этой конструкцией есть много возможностей доступа к изображению:

, которые варьируются от быстрого и простого

$('.advance-link>img')

до довольно сложного, но очень специфического (только для иллюстрации :))

$('div.gallery.front>span.image-wrapper.current>a.advance-link>img')
0 голосов
/ 24 ноября 2011

$("img:eq(0)").addClass("test");

0 голосов
/ 24 ноября 2011

$('img.gallery') у вашего изображения нет класса gallery, который есть у одного из его родителей. $('img.advance-link') ваше изображение не имеет класса advance-link, которого имеет его родитель.

Вам понадобится $('.gallery img') или $('.advance-link img').

0 голосов
/ 24 ноября 2011

$("div.gallery img") должно работать

0 голосов
/ 24 ноября 2011
$('.gallery img').addClass('test');
...