首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery:使用A锚标签包装图像标签的最简单方法

jQuery:使用A锚标签包装图像标签的最简单方法
EN

Stack Overflow用户
提问于 2009-11-20 07:45:56
回答 3查看 24.3K关注 0票数 22

这是我的问题的一个简化版本。

我有两个按钮和一个图像。图像代码如下所示

<img class="onoff" src="image.jpg">

当我按下按钮一时,我希望图像被包装在一个A标签中,比如

<a href="link.html">
<img class="onoff" src="image.jpg">
</a>

当我按下另一个按钮时,A标签应该被移除。

用jQuery做这件事最简单的方法是什么?

EN

回答 3

Stack Overflow用户

发布于 2009-11-20 07:49:57

对元素进行换行

$(".onoff").wrap("<a href='link.html'></a>");

和解包

$(".onoff").parent().replaceWith($(".onoff"));
票数 8
EN

Stack Overflow用户

发布于 2009-11-20 07:48:49

尝试如下所示:

$("img.onoff").wrap(
    $("<a/>").attr("href", "link.html"));

但也许在图像本身上使用jQuery的click绑定要比将图像包装在锚点中要好。

票数 5
EN

Stack Overflow用户

发布于 2009-11-20 07:48:25

您可以使用jQuery wrap()函数。

代码是:

    <input type="button" id="button1" value="Wrap" />
    <input type="button" id="button2" value="Unwrap" />
    <img class="onoff" src="image.jpg" alt="" />

    $(function() {
        //wrap
        $('#button1').click(function() {
            $('.onoff').wrap('<a href="link.html"></a>');
            //if you want to make sure multiple clicks won't add new <a> around it
            //you could unbind this event like that:
            //$(this).unbind( "click" )
        });
        //unwrap
        $('#button2').click(function() {
            $('.onoff').parent().each(function() { $(this.childNodes).insertBefore(this); }).remove();
           //$(this).unbind( "click" )
        });
    });  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1767414

复制
相关文章

相似问题

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