动态添加图片链接

4
如果我有一个id为"myimg"的"img"元素。
是否可以使用jQuery在不编辑HTML页面的情况下为"img"添加链接?
<img id="myimg" src="image.png">

我希望让“myimg”像这样拥有链接。

<a href="test.html"><img id="myimg" src="image.png"></a>
3个回答

12
你可以使用wrap():
$("#myimg").wrap("<a href='test.html'></a>');
或者
$("#myimg").wrap($("<a>").attr("href", "test.html"));

或者:

var a = $("<a>").attr("href", "test.html");
$("#myimg").wrap(a);

8

我不熟悉jQuery。使用JavaScript,你可以这样做:

var parentEl = document.getElementById("myimg").parentElement;
var imgEl = parentEl.innerHtml;
parentEl.innerHtml = '<a href="test.html">' + imgEl + '</a>';

还有,如果一个图像已经存在链接(即<a>标记),我们如何删除它呢? - Sam
@SamyagShah:你可以使用正则表达式评估器,并将锚点替换为''来删除锚点。这应该非常简单。 - Kangkan
谢谢您的回答。但是是否有其他方法,例如使用JavaScript函数,如removeChild等? - Sam
那应该作为一个单独的问题发布。这样可能会帮助其他用户,而不是在这里提问。 - Kangkan

4
$(document).ready(function() {
        var src = "linkhere.html";
        var a = $("<a/>").attr("href", src);
        $("#myimg").wrap(a);
});

包装(wrap)正在做我曾尝试使用 JavaScript 实现的内容。绝对加一! - Kangkan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接