这是我的问题的简化版本。
我有两个按钮,一个图像。图像代码是这样的
- <img class="onoff" src="image.jpg">
当我按下按钮1时,我想要将图像包裹在A标签中,像
- <a href="link.html">
- <img class="onoff" src="image.jpg">
- </a>
使用jQuery最简单的方法是什么?
解决方法
你已经有很多答案,但是(至少在我开始写作之前),他们都不会正常工作。
他们没有考虑到你不应该包装< img>具有多个< a>标签。此外,如果没有包装,不要试图打开包装!你会毁掉你的DOM。
这个代码简单地在包装或展开之前进行验证:
- $(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);
- }
- });
- });
祝你好运!