JS删除HTML个节点

Delete Node of HTML by JS

正在尝试删除 HTML 的特定节点。

第一个HTML:

.widget-content 中有很多 List 想要删除所有 .list 而没有第一个 Li。表示保留first-child.

<div class="wrapper delete">

    <div class="widget-content">
        <ul>
            <li class="lists"> 
                Content
            </li>
            <li class="lists"> <!-- Delete this-->
                Content
            </li>
            <li class="lists"> <!-- Delete this-->
                Content
            </li>
        </ul>
    </div>

</div>

第二个HTML:

如果 .wrapper 有 class delete,想删除 .widget-content ulul。条件需要。

<div class="wrapper delete">

    <div class="widget-content"> 
        <ul>      <!-- Delete This -->
            <li class="lists">
                Content
            </li>
            <li class="lists">
                Content
            </li>
            <li class="lists">
                Content
            </li>
        </ul>

    </div>

</div>

JS/jquery如何做到这一点? Fiddle 示例会有所帮助。

$(document).ready(function () {

    $('.widget-content li').not(':first-child').remove();

    if ($(".wrapper").hasClass('delete')) {
        $('.widget-content ul').remove();
    }
});

slice 可用于 select 具有开始和结束的元素。

$('.widget-content li.lists').slice(1).remove();
$('.wrapper.delete ul').remove();