1

$(this)の子を除いて、特定のクラスの要素を選択する必要があります。秘訣は、要素にid属性がなく、親要素と子要素のクラスが同じであるということです。

<div class="onedoc">1
    <div class="onedoc">1.1
        <div class="onedoc">1.1.1</div>
    </div>
    <div class="onedoc">1.2</div>
</div>
<div class="onedoc">2</div>
<div class="onedoc">3</div>

この例では、$(this)が1(最初の要素)の場合、1.1.1、2、および3を含む要素を選択する必要があります。

4

3 に答える 3

4

このようなものが動作するはずです:

$('.onedoc').not($(this).children());

デモ

于 2012-06-18T07:57:50.233 に答える
1
 $('.onedoc:not(:has(.onedoc))');

次のようにして、ターゲットを指定できます。

 $('.onedoc:not(:has(.onedoc))', $target); // where $target is some element you selected

http://jsfiddle.net/HackedByChinese/PqxbL/

于 2012-06-18T08:05:13.490 に答える
0

使用できますjquery remove(): http://api.jquery.com/remove/

すべてのonedoc要素を選択してから、DOM から子要素を削除します。remove()

例えば

$('.onedoc').remove($(this).children());

コメントに従って編集します。ノード自体を含めたくない場合は、それも削除します。

$('.onedoc').remove($(this).children()).remove($(this));
于 2012-06-18T07:56:04.327 に答える