如何删除除JQuery中的一些DOM元素之外的所有元素?

前端之家收集整理的这篇文章主要介绍了如何删除除JQuery中的一些DOM元素之外的所有元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想删除DOM中的所有隐藏元素,但保留某些类下的所有(包含隐藏项).

这里有一个(非)working example

<div id="init">
    <input type="hidden" name="x" value="y" />
    <ul>
        <li>Hello</li>
        <li>Bye</li>
        <li class="block">
            <ol>
                <li>First</li>
                <li>Second</li>
                <li>Third</li>
            </ol>
        </li>
        <li>Test</li>
    </ul>
</div>

CSS:li {“display:none”}

所以,我正在寻找删除所有隐藏项目的选择器,除了那些具有块类或在块类下的项目.在这种情况下,预期的结果是:

<div id="init">
    <ul>
        <li class="block">
            <ol>
                <li>First</li>
                <li>Second</li>
                <li>Third</li>
            </ol>
        </li>
    </ul>
</div>

我一直在玩:不是操作符,但没有成功.

解决方法@H_404_16@
你的意思是这样的?
$(':hidden').not('.block,.block *').remove();

或者:

$(':hidden:not(.block,.block *)').remove();

但$.fn.not()是一个little more reliable than :not()

猜你在找的jQuery相关文章