首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery insertBefore,insertAfter问题

jQuery insertBefore,insertAfter问题
EN

Stack Overflow用户
提问于 2010-06-22 17:08:25
回答 3查看 1.7K关注 0票数 1

我想在jQuery的帮助下把我的图片做成链接:

代码语言:javascript
复制
 $("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);
        });

但是我得到了:

代码语言:javascript
复制
<a href="/Images/7827-1280x800.jpg"></a>
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;">

而不是:

代码语言:javascript
复制
<a href="/Images/7827-1280x800.jpg">
<img height="800" width="1280" src="/Images/7827-1280x800.jpg" alt="" style="height: 312.5px; width: 500px;">
</a>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-22 17:12:01

你不需要这样做。您可以使用来完成此操作。

就像这样

代码语言:javascript
复制
curr.wrap("<a href='" + curr.attr("src") + "' />");
票数 2
EN

Stack Overflow用户

发布于 2010-06-22 17:13:36

您可以使用jQuery提供的wrap()方法

代码语言:javascript
复制
$("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") + '">'));
});
票数 1
EN

Stack Overflow用户

发布于 2010-12-01 01:36:52

这是因为$("<a href='" + curr.attr("src") + "'>")将创建一个公共的html元素。我认为,jQuery将忽略缺少的结束标记,并创建这样的html:<a href="/Images/7827-1280x800.jpg"></a>,而$("</a>")将被完全忽略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3091708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档