隐藏div,而不隐藏它的嵌套div

这是一个简单的问题,但我无法在stackoverflow上的任何地方找到答案。

我有以下代码片段:

//The div to be hidden
//I don't want to hide this div
//Nor this one

我之所以这样做是因为,当我隐藏div时,我使用它们的标记名隐藏它们,但当我显示它们时,我使用它们的类名。 因此,内部或“嵌套的div”不再出现。

EX:

之前:

 

后:

 

我假设提供的代码在另一个元素内。 我打算叫这个div#root

 

要隐藏#root所有直接div#root ,可以使用选择器#root > div

所以,你的jQuery可能看起来像$('#root > div').hide()

那是你想要做的吗?

我想这就是你想要实现的目标。

 $( "div:first" ).hide(); 

这将隐藏页面上的第一个div。 但无论如何我建议使用类或id …

因此,如果你有更多这些,你应该基本检查他们的父元素是div,如果是,那么不要隐藏它们,否则隐藏。 所以…

  $('div').each(function(){ _this = $(this); if(!_this.parent().is("div")){ _this.hide(); } });