我想在jQuery的帮助下将我的图像作为链接:
$("img:gt(0)").each(function () {
var curr = $(this);
if (curr.width() >= 500) {
var m = 500 / curr.width();
curr.height(curr.height() * m);
curr.width(curr.width() * m);
}
$("<a href='" + curr.attr("src") + "'>").insertBefore(curr);
$("</a>").insertAfter(curr);
});
但我得到了:
<a href="/Images/7827-1280x800.jpg"></a>
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;">
而不是:
<a href="/Images/7827-1280x800.jpg">
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;">
</a>
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用jQuery提供的wrap()方法
$("img:gt(0)").each(function () {
var curr = $(this);
if (curr.width() >= 500) {
var m = 500 / curr.width();
curr.height(curr.height() * m);
curr.width(curr.width() * m);
}
curr.wrap($('<a href="' + curr.attr("src") + '">'));
});
答案 2 :(得分:1)
这是因为$("<a href='" + curr.attr("src") + "'>")
会创建一个常见的html元素。我认为,jQuery会忽略丢失的结束标记并创建此html:<a href="/Images/7827-1280x800.jpg"></a>
和$("</a>")
将被忽略。