这是我的问题的简化版本。
我有两个按钮和一个图像。图像代码是这样的
<img class="onoff" src="image.jpg">
当我按下一个按钮时,我希望图像被包裹在一个A标签中,例如
<a href="link.html"> <img class="onoff" src="image.jpg"> </a>
当我按下另一个按钮时,应该删除A标签。
用jQuery做到这一点最简单的方法是什么?
您已经有很多答案,但是(至少在我开始撰写之前)它们都无法正常工作。
他们没有考虑到,你应该 不 换行<img>与 多个<a>标签。此外, 如果未 包装, 请勿 尝试拆开包装!您将销毁DOM。
<img>
<a>
此代码简单地在包装或展开之前进行了验证:
$(function(){ var wrapped = false; var original = $(".onoff"); $("#button1").click(function(){ if (!wrapped) { wrapped = true; $(".onoff").wrap("<a href=\"link.html\"></a>"); } }); $("#button2").click(function(){ if (wrapped) { wrapped = false; $(".onoff").parent().replaceWith(original); } }); });
祝好运!