用href = img src包围<img rel="nofollow noreferrer" />周围的<a>标签?

Mac*_*ort 3 anchor jquery image class

尝试将标记包装在图像周围,addClass和img的输入src作为标记的href:

 $(document).ready(function() {
$(".new img").each(function() {
    var src = $(this).attr('src').addClass('image');
    var a = $('<a/>').attr('href', src);
    $(this).wrap(a);
});
});
Run Code Online (Sandbox Code Playgroud)

我的HTML:

<img class="new" src="pic0.png" title="Image_Title"/>
Run Code Online (Sandbox Code Playgroud)

似乎无法让这个工作.任何的意见都将会有帮助!

lon*_*day 10

两件事情.首先,你的选择器向后 - 它应该是img.new.其次,attr返回一个字符串,而不是jQuery,所以你不能链接它.执行以下操作,它应该工作:

$(document).ready(function() {
    $("img.new").each(function() {
        var $this = $(this);
        var src = $this.attr('src');
        $this.addClass('image');
        var a = $('<a/>').attr('href', src);
        $this.wrap(a);
    });
});
Run Code Online (Sandbox Code Playgroud)


Nic*_*ver 5

您的选择器只需要调整,这个:

$(".new img")
Run Code Online (Sandbox Code Playgroud)

应该:

$("img.new")
Run Code Online (Sandbox Code Playgroud)

new班是<img>本身,<img>不是的后代class="new"元素,这是你目前的选择是寻找.还.attr('src')得到一个字符串,所以你需要在调用之前添加该类,总体如下:

$(function() {
  $("img.new").each(function() {
    var src = $(this).addClass('image').attr('src');
    var a = $('<a/>').attr('href', src);
    $(this).wrap(a);
  });
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里进行测试,或者简单一点/速度更快的版本在这里:

$(function() {
  $("img.new").each(function() {
    var a = $('<a/>').attr('href', this.src);
    $(this).addClass('image').wrap(a);
  });
});
Run Code Online (Sandbox Code Playgroud)