我需要hide()
所有类别级别的元素'.dd-container'
,除非该元素具有id
的'#tools'
。jQuery删除除具有特定ID以外的类别元素
我尝试以下(没有工作),但我敢肯定我捏造的语法:
$('div:has(.dd-container):not(#tools .dd-container)').hide();
我需要hide()
所有类别级别的元素'.dd-container'
,除非该元素具有id
的'#tools'
。jQuery删除除具有特定ID以外的类别元素
我尝试以下(没有工作),但我敢肯定我捏造的语法:
$('div:has(.dd-container):not(#tools .dd-container)').hide();
我认为这应该工作:
$("div:not(#tools)").find(".dd-container").hide();
编辑:认为我错读了这个问题。是否有一个dd-container
类别也有id
工具?如果是这样,那么你就需要把它改成这样:
$("div").find(".dd-container:not(#tools)").hide();
或这样的:(应该更快地执行根据一些测试,我做了一段时间后)
$(".dd-container:not(#tools)", "div").hide();
它的速度更快的原因,是因为它首先在寻找类,而不是寻找所有的div,然后通过他们所有......我想。
#tools .dd-container
有#tools请和.DD容器 之间有空白,这意味着#tools请的所有子与类.DD容器 例如
<table id="tools"><tr class='dd-container'>
so#tools.dd-container should work但peirix的答案更容易阅读。
$('div:has(.dd-container):not(#tools.dd-container)').hide();
(注后“#tools请”空间不足) 或
$('div:has(.dd-container):not(#tools)').hide();
(如ID是唯一的,你也许可以用类说明为“不”选择免除)
是的,也许我没有解释得太好。第一个没有工作,因为,正如你所说,dd容器有一个工具id。我在看到最后一次编辑之前最终解决了这个问题,但我用完全相同的方式解决了这个问题。 感谢您的努力。 – 2009-09-30 09:05:19