有没有一种方法可以多次使用Jquery的.unwrap()而不进行复制和粘贴?如果它可以接受参数或类似.unwrap(4)的代码,但它不能接受,那就太好了。是否有更聪明的解决方案来实现以下目标?

$(".foo a").unwrap().unwrap().unwrap().unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="foo">
    <div>
        <ul>
            <li>
                <div>
                    <a href="#">Link 1</a>
                </div>
            </li>
        </ul>
    </div>
</li>
<li class="foo">
    <div>
        <ul>
            <li>
                <div>
                    <a href="#">Link 2</a>
                </div>
            </li>
        </ul>
    </div>
</li>
<li class="foo">
    <div>
        <ul>
            <li>
                <div>
                    <a href="#">Link 3</a>
                </div>
            </li>
        </ul>
    </div>
</li>
</ul>

最佳答案

您可以随时编写自己的:

$.fn.unwrapTimes = function(times){
    var unwrapCount = times;
    return this.each(function(){
        var $this = $(this);
        for(var i=0;i<unwrapCount;i++){
             $this.unwrap();
        }
    });
};

fiddle

显然,应更改名称,但逻辑是合理的。

关于javascript - 您如何多次.unwrap()元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30112665/

10-09 00:33