0

ページの一部がjQuerySelectorによって解析されないようにしたい。

以下の例では、すべての「.module」要素を取得するが、クラス「exclude」を持つdivの下の要素を除外する方法はありますか?

さらに、「この領域を解析しないでください」のようなJqueryで実行できますか。たとえば、巨大なhtmlコンテンツを含むdiv(#huge)を持つページがありますが、Jqueryがこのdiv(#huge)を無視する方法はありますか?

たとえば、私はこの構造を持っています:

<div id="page">
  <div class="exclude">
    <div class="module"></div>
    <!-- HERE HUGE HTML -->
  </div>
  <div>
    <div class="module"></div>
    <div class="module"></div>
  </div>
</div>
4

3 に答える 3

3
$modules = $('div:not(".exclude") > .module');

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

于 2012-11-15T14:28:01.867 に答える
1

あなたの正確なケースでは、重要なのは正しいdivだけを見ることです。

検索可能なコレクションを作成することから始めます

var $good = $('#page>div:not(.exclude)');

そして、すべてのクエリは次のように作成され$(yourquery, $good)ます。

var $mymodules = $('.module', $good);

デモンストレーション(コンソールを開く)

$('#theid')IDで要素を検索する場合でも、。よりも使用する方が効率的であることに注意してください$('#theid', $good)

于 2012-11-15T14:32:33.947 に答える
0
$modulesNotTheHugeOne = $(".module").not("#huge");

クラスを持つすべてを選択しますmoduleが、IDを持つものは選択しませんhuge

http://api.jquery.com/not/

于 2012-11-15T14:32:07.323 に答える