我有一个DIV列表,它们都包含一段文字,一个图像和一个锚。
使用Javascript / jQuery,是否可以获取锚点的href,并使用该链接将图像包装在锚点标记中?
我知道这是一个奇怪的诙谐,我做了一个小提琴...
会有多个div,所以我不能拥有相同的ID
答案 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)
好的,让我们把它包起来:
转换为jQuery:
$(".card-prod").each(function(){
var anchors = $(this).find("a");
anchors.eq(0).prop("href", anchors.eq(1).prop("href"));
});