проблемы с каждым () - PullRequest
       17

проблемы с каждым ()

0 голосов
/ 14 апреля 2011

Я пытаюсь вставить ссылку в конце каждого .item.

Все работает нормально, но я получаю 7 распечаток ссылки после каждого элемента.
Как я могу получить соответствующую ссылку для печати после каждого из .item?
Большое спасибо!

$('#content .item img').each(function(i) {
    var altText = $(this).attr("alt");
    $('<br /><a href="' + altText + '">visit website</a>').insertAfter('.imagefield');
});

Ответы [ 2 ]

2 голосов
/ 14 апреля 2011

Измените ваш селектор, чтобы найти только #content .item, а не изображения внутри.Предположительно, вы перебираете любые вложенные изображения в пределах .item (что может быть 7)

Помните, что каждый найдет все совпадения для селектора.Если вы намерены работать только с .item, то вам нужно быть конкретным и выбирать только .item (не вложенные элементы).

Без HTML передо мной, я бы порекомендовал:

$('#content .item').each(function(i,e){
  $(e).append('<br /><a href="' + $('img',e).attr('alt')+ '">visit website</a>');
});
0 голосов
/ 14 апреля 2011

Вы звоните insertAfter('.imagefield'), который найдет все элементы .imagefield и вставит после них ссылку - для каждого изображения.Попробуйте insertAfter(this).

...