0

テキスト、画像、およびアンカーをすべて含む DIV のリストがあります。

Javascript/jQuery を使用すると、アンカーの href を取得し、そのリンクを使用して画像をアンカー タグでラップすることは可能ですか?

私はこれが奇妙な要求であることを知っています、私はフィドルを作りました...

http://jsfiddle.net/fFgwb/


複数のdivがあるため、同じIDを持つことはできません

4

6 に答える 6

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

});

これは、フィドルでこの実装を使用したデモです。

于 2012-04-18T19:09:35.480 に答える
0

では、まとめましょう。

  • カードが何枚かあるでしょう
  • 各カードには 2 つのアンカーが含まれています
  • 最初のアンカーは、2 番目のアンカーと同じ href-value を取得する必要があります

jQuery に翻訳:

$(".card-prod").each(function(){
    var anchors = $(this).find("a");
    anchors.eq(0).prop("href", anchors.eq(1).prop("href"));
});
于 2012-04-18T19:30:40.947 に答える
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);
});
于 2012-04-18T19:15:21.427 に答える
0

.div のようなクラスを div に追加し、他のクラスをアンカー リンクに追加する必要があります。

$(document).ready(function(){

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

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

});

});
于 2012-04-18T19:27:39.423 に答える
0

試す:

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

imgおそらくクラスを使用して、そのセレクターを絞り込むだけです。

于 2012-04-18T19:13:01.160 に答える
0

私があなたが望むものを正しく手に入れたら、次のようなものでそれを行うことができます:

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

ここでわかるように。

于 2012-04-18T19:13:21.770 に答える