【问题标题】:Select class not contained in div选择不包含在 div 中的类
【发布时间】:2011-07-07 15:36:31
【问题描述】:

是否可以选择页面的类而不选择封装在特殊div中的相同类?

类似:

$(!".container").$(".selectedClass").dosomething..

$(".selectedClass").parent(!"container").dosomething..

这里有一些例子...

<div class="blah">
    <div class="remove"><div>
</div>
<div class="blaha">
    <div class="remove"><div>
</div>
<div class="dont_remove_remove_here">
    <div class="remove"><div>
</div>
<div class="blahblah">
    <div class="remove"><div>
</div>

我想删除所有“删除”类,但不在“dont_remove_remove_here”容器中。

【问题讨论】:

  • 您能否提供一些示例 HTML,并明确说明您想选择和不想选择什么? jQuery 确实有 not selectors.
  • 你能更好地解释你想问什么吗?我对你的问题有点困惑

标签: javascript jquery containers selection


【解决方案1】:

我永远不会在生产代码中使用此页面上的其他“div:not(.container)”答案,因为它会导致性能极慢。

下面的代码效率更高:

      $(".remove").each(function(i,elt) {
        if (!$(elt).parent().hasClass("dont-remove")) {
           $(elt).remove();
        }
      });

【讨论】:

  • 我想删除所有“删除”类,但不在“dont_remove_remove_here”容器中...希望这会有所帮助...
  • 在这种情况下,您需要做的就是使用 parent() 而不是 parents() - 让我为该场景编辑上面的答案
【解决方案2】:

如果我理解正确,这应该可以,但是会很慢。另外,您可能希望将 div 更改为其他内容,或进一步完善第一部分。

$("div:not(.container)").find(".selectedClass")

【讨论】:

    【解决方案3】:

    答案是……

    $("div:not(.container)").remove(".remove");
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签