2011-12-22 40 views
0

比方说,我有4个具有相同类的img标签,每个标签具有不同的url。我可以用这个代码检索每个网址:每个类每个链接追加一次

$('.userPicture img').each(function(){ 
    var getImageLink = $(this).attr('src'); 
    console.log(getImageLink) 
}); 

CONSOLE.LOG:

http://link1.com 
http://link2.com 
http://link3.com 
http://link4.com 

的quesion是如何每一个环节每类追加只有一次?

$.each(getImageLink, function(i) { 
    $('.aboutInfo').eq(i).append('<p><a href="'+getImageLink+'"></a></p>'); 

});

最好成绩,我可以得到的是:

.aboutInfo 
http://link1.com 
http://link2.com 
http://link3.com 
http://link4.com 

.aboutInfo 
http://link1.com 
http://link2.com 
http://link3.com 
http://link4.com 

我需要的是:

.aboutInfo 
http://link1.com 

.aboutInfo 
http://link2.com 

等等

我不能myselft弄明白:(

+0

在''和''之间添加没有文字的链接不会有任何用处(它只是一个零长度链接)。你能解释你想完成什么吗?你想在链接中点击哪些文字? – jfriend00 2011-12-22 00:23:07

+0

该链接可以有一个与之相关的背景图片... – brandwaffle 2011-12-22 00:29:47

+0

@brandwaffle - 我没有看到任何迹象表明这是OP正在尝试做的事情,没有任何东西可以让链接任意大小,甚至没有任何大小来显示背景图片。我认为OP只是留下了一些他们想做的事情。 – jfriend00 2011-12-22 00:45:51

回答

1

这应该工作

$('.userPicture img').each(function(i, el){ 
    var getImageLink = $(el).attr('src'); 
    $('.aboutInfo').eq(i).append('<p><a href="'+getImageLink+'"></a></p>'); 
}); 

关键是要在.each循环内进行追加... getImageLink将是适当的值(它在范围内),并且它会附加到每个链接一次。

更新:要回答评论中提出的问题,您不需要在链接中有文本使其工作。 CSS的可能仅仅是这样的:

.aboutInfo { 
    background: url(http://server.com/images/20x100-image.png) center left no-repeat; 
    height: 20px; 
    width: 100px; 
    display: block; 
} 

无论哪种方式,为什么链接没有文本,问题是不是真正的OP的问题的问题,但希望这个解释将帮助任何人谁是好奇。

+0

伟大的作品!我2个小时前很亲密......我现在要睡了:)再次感谢。 – Reinis 2011-12-22 00:31:12

+0

没问题,睡得好:) – brandwaffle 2011-12-22 00:33:39

+0

@Reinis - 请澄清。在链接标签中追加无法点击的链接是什么意思? – jfriend00 2011-12-22 00:46:39