在容器中获取锚点的href并将其应用于图像

时间:2012-04-18 19:00:23

标签: javascript jquery

我有一个DIV列表,它们都包含一段文字,一个图像和一个锚。

使用Javascript / jQuery,是否可以获取锚点的href,并使用该链接将图像包装在锚点标记中?

我知道这是一个奇怪的诙谐,我做了一个小提琴...

http://jsfiddle.net/fFgwb/


会有多个div,所以我不能拥有相同的ID

6 个答案:

答案 0 :(得分:1)

这是一种方式

var src = $("#imgid").attr("src"); //take out the src
$("#imgid").wrap($('<a href="'+src+'" />'); //wrap around it with the anchor

您的用法,可以是

$("img", $("#divid")).each(function() {
    var src = $(this).attr("src"); //take out the src
    $(this).wrap($('<a href="'+src+'" />')); //wrap around it with the anchor

});

这是一个demo,这个实现就在你的小提琴上。

答案 1 :(得分:0)

尝试:

$('img').each(function(){
    $(this).wrap('<a href="'+$(this).attr('src')+'"/>');
});

缩小img选择器,可能是一个类。

答案 2 :(得分:0)

如果我得到了你想要的东西,你可以用以下的东西来做:

$('a').attr('href', function() {
    return $(this).find('img').attr('src');
});​

正如您所见here

答案 3 :(得分:0)

使用jQuery:

$('.card-prod').each(function () {
    var that = $(this),
        imgA = that.find('a img').parent(),
        newHref = that.find('a').not(imgA).attr('href');
    imgA.attr('href', newHref);
});

答案 4 :(得分:0)

你应该像.divs这样的类添加到div和其他类来锚定链接:

$(document).ready(function(){

$(".divs").each(function(){

    $(this).find("a").hasClass("anchor").attr("href", $(this).find("a").hasClass("continue").attr('href'))

});

});

答案 5 :(得分:0)

好的,让我们把它包起来:

  • 你会有几张卡
  • 每张卡片包含两个锚点
  • 第一个锚应该获得与第二个锚
  • 相同的href值

转换为jQuery:

$(".card-prod").each(function(){
    var anchors = $(this).find("a");
    anchors.eq(0).prop("href", anchors.eq(1).prop("href"));
});