删除Jquery中的包装元素

时间:2017-10-21 17:47:46

标签: javascript jquery

我有一个像这样的元素列表<ol>

<ol class="example">
    <ol>
        <li>Dashboard</li>
        <li><i class="fa fa-user" data-toggle="popover"></i>Customer
         <ol>
            <li>Customer Contract</li>
            <li>Customer Report</li>
         </ol>
        </li>
   </ol>
</ol>

我想要做的是想要删除<ol>内的<ol class="example">内部<ol class="example"> <li>Dashboard</li> <li><i class="fa fa-user" data-toggle="popover"></i>Customer <ol> <li>Customer Contract</li> <li>Customer Report</li> </ol> </li> </ol>

因此,最终结果将是这样的:

.unwrap()

我尝试了jquery中记录的jquery函数$(document).ready(function(){ $('body').find('ol.example').unwrap(); }) ,如下所示:

$(document).ready(function(){
    $('ol.example').find('ol').unwrap();
})

结果没有任何改变。我继续尝试另一种方式:

<ol class="example"></ol>

这样就删除了我想删除的包装器<ol></ol>而不是$curl = new Curl(); $curl->post('https://www.example.com/login/', array( 'username' => 'myusername', 'password' => 'mypassword', )); 元素。

发生了什么,如何实现上述预期结果?感谢。

2 个答案:

答案 0 :(得分:0)

根据文件,

  

.unwrap()方法删除元素的父级。这实际上是.wrap()方法的反转。匹配的元素(以及它们的兄弟,如果有的话)在DOM结构中替换它们的父节点。

所以你想做一些像

这样的事情
$('ol.example').children('ol').children().unwrap();

或者更简洁地说,

$('ol.example > ol > *').unwrap();

答案 1 :(得分:0)

参见示例:

&#13;
&#13;
var text=$('.example>ol').html();
$('.example').html(text);

console.log($('.example').html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol class="example">
    <ol>
        <li>Dashboard</li>
        <li><i class="fa fa-user" data-toggle="popover"></i>Customer
         <ol>
            <li>Customer Contract</li>
            <li>Customer Report</li>
         </ol>
        </li>
   </ol>
</ol>
&#13;
&#13;
&#13;