如何使用jQuery从<body>中删除除第一个之外的所有div?

Pav*_*l F 2 jquery

我有html页面,我需要删除除id ="allPage"的div之外的所有div,除了id ="allPage"的div的所有内容.我有下一个代码:

<body>
<div class="page" id="allPage">
    <div id="header">
        <div id="title">
            <h1><a href="/">here</a></h1>
        </div> 
        <!-- Many other divs -->
    </div>
</div>

<script type="text/javascript">
    // Some script
</script>

<!-- Next div maked by dialog of jQuery -->
<div style="display: none; z-index: 100; outline: 0px none;" class="ui-dialog ui-widget ui-widget-content ui-corner-all alert" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-CreateWarehouse">
    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
        <span class="ui-dialog-title" id="ui-dialog-title-CreateWarehouse">Create warehouse</span>
        <a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button"><span class="ui-icon ui-icon-closethick"></span></a>
    </div>

    <div id="CreateWarehouse" class="ui-dialog-content ui-widget-content">

        <div class="Editor ui-widget ui-widget-content" id="AddWarehouseInvoiceControl">
            <form action="#" class="WarehouseInvoice">
                <input type="hidden" class="Id" value="">
                <!-- Some other elements -->
            </form>
        </div>

        <input type="hidden" class="WICreationResult" value="0">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我使用它,$("body > div:not(#allPage)").remove();我会收到下一个结果

<body>
<div class="page" id="allPage">
    ...
</div>

<script type="text/javascript">
    // Some script
</script>

<div id="CreateWarehouse" class="" style="display: none;">

    <div class="Editor ui-widget ui-widget-content" id="AddWarehouseInvoiceControl">
        <form action="#" class="WarehouseInvoice">
            <input type="hidden" class="Id" value="">
            <!-- Some other elements -->
        </form>
    </div>

    <input type="hidden" class="WICreationResult" value="0">
</div>
Run Code Online (Sandbox Code Playgroud)

如何删除除id ="allPage"的div之外的所有div?

Ais*_*ina 6

$('body > div:gt(0)').remove();

这将选择<div>body标签的所有子项,索引大于0(这样第一个<div>保持不变).

http://api.jquery.com/gt-selector/


Mat*_*ijs 5

$('div').not('#allPage').remove();

要么

$('div:not(#allPage)').remove();