Javascript 如何使用jquery排除子选择器中的子项?

Javascript 如何使用jquery排除子选择器中的子项?,javascript,jquery,html,jquery-selectors,Javascript,Jquery,Html,Jquery Selectors,我将父元素div mmm-a设置为visibility,由上一个单击函数隐藏,我使用以下代码使其在单击时重新出现在页面上: jQuerymmm-a.cssvisibility,visible.fadeTo300,1; 这很好,但当我试图从其父div mmm-a中排除子mmm-b时,它不起作用,我尝试了以下方法和变体: jQuerymmm-a.notmmm-b.CSS可视性,可见。fadeTo300,1; 我的代码有什么问题?如何使整个div再次可见,但将其中的一个元素隐藏起来?jquerymm-

我将父元素div mmm-a设置为visibility,由上一个单击函数隐藏,我使用以下代码使其在单击时重新出现在页面上:

jQuerymmm-a.cssvisibility,visible.fadeTo300,1; 这很好,但当我试图从其父div mmm-a中排除子mmm-b时,它不起作用,我尝试了以下方法和变体:

jQuerymmm-a.notmmm-b.CSS可视性,可见。fadeTo300,1; 我的代码有什么问题?如何使整个div再次可见,但将其中的一个元素隐藏起来?

jquerymm-a.notmmm-b 这意味着选择mmm-a,而不是id mmm-b,而您需要从儿童列表中排除特殊儿童

用这个代替

$mmm-a:notmmm-b.css可视性,可见; mmm-a{可见性:隐藏} 1. mmm-b 3. jQuerymmm-a仅选择ID为mmm-a的单个元素。.notmmm-b不会从该选择中排除任何内容-它仍然是一个单一元素列表。唯一可行的方法是,如果同一个元素有两个ID,那么.not将排除它,最后选择零元素-但这是不可能的,因为一个元素不能有两个ID

排除单个子元素的多元素选择看起来更像$'mmm-A'。find':notmmm-b'或$'mmm-A:notmmm-b'-这些将返回mmm-A中所有非mmm-b子元素的列表

但这也帮不了你,因为你使用的是fadeTo,它可以为元素的不透明度而不是可见性设置动画。不透明度始终影响子元素:零不透明度元素的所有内容都将始终处于零不透明度,不可能从中排除子元素

与不透明度不同,子元素可以从可见性规则中排除:

a{可见性:隐藏} b{可见性:可见} 隐藏父项 可见子对象
一个元素怎么可能有两个id?你为什么会这么认为@Mohammad因为jQuerymmm-a.notmmm-b意味着选择mmm-a,即han没有id mmm-bOk,父div有id,子div有id。如何使其工作@默罕默德并不是一个确切的例子,而是第二个例子。因为第一个更改了每个嵌套元素的css,而不是子元素。我希望子元素保持隐藏,而div的其余部分再次淡入可见状态,以便稍后操纵子元素可见性@Daniel BeckI之前没有提到,但我无法使用。hide或其他等效的显示无,仅可见性,这就是为什么我发布了一个问题,因为我没有找到一种方法让它自己工作@Daniel Beck将第二个代码示例更改为设置可见性,而不是使用“hide”,同样的事情。好的,正如我在问题中所写的,mmm-a div已经隐藏了,包括它的所有子级,它必须保持这种方式,通过动画,我想让整个div再次可见,但不是它的子对象mmm-b@danielbeck,这正是我在第二个示例中展示的。隐藏着一个秘密。A包含B。单击处理程序将B隐藏,并在中淡入A。