0

采用此 DOM 的最简单规则是什么:

<div>
    <ul>
        <li>  
            <div>
                <a href="#" class="remove">link</a>
            </div>
        </li>
        <li>  
            <div>
                <span class="ok"></span>
            </div>
        </li>
        <li>  
            <div class="remove"></div>
        </li>
    </ul>
</div>

并删除所有元素,如果它们中的任何一个在包含类<li>的任何深度都有一个子元素。"remove"结果html如下所示:

<div>
    <ul>
        <li>  
            <div>
                <span class="ok"></span>
            </div>
        </li>
    </ul>
</div>
4

1 回答 1

1
$('li:has(.remove)').remove();

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

从文档:

<div>如果 a存在于其后代中的任何位置,则表达式 $('div:has(p)') 匹配 a <p>,而不仅仅是直接子代。

http://jsfiddle.net/WNcKE/1/

于 2012-04-18T09:51:47.883 回答