我想在每个.item
的末尾插入一个链接。
一切正常但我在每个元素后得到7个链接的打印输出。
如何在每个.item
之后获得相关链接?
非常感谢你!
$('#content .item img').each(function(i) {
var altText = $(this).attr("alt");
$('<br /><a href="' + altText + '">visit website</a>').insertAfter('.imagefield');
});
答案 0 :(得分:2)
将您的选择器更改为仅查找#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>');
});
答案 1 :(得分:0)
您正在调用insertAfter('.imagefield')
,它将找到所有.imagefield元素,并在它们之后插入一个链接 - 用于每个图像。试试insertAfter(this)
。