0

我希望我的页面的一部分不被 jQuery 选择器解析。

在下面的示例中,有没有一种方法可以获取所有“.module”元素,但排除 div 下具有“exclude”类的元素?

此外,我们可以用 Jquery 做一些类似“请不要解析这个区域”的事情。例如,我有一个页面有一个 div(#huge) 和一个巨大的 html 内容,有没有办法让 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);

演示(打开控制台)

请注意,当通过 id 查找元素时,使用它仍然$('#theid')比使用$('#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 回答