如何找到一个没有隐藏的子div

时间:2012-07-18 22:12:31

标签: jquery

我有代码:

<div id="parent">
   <div id="firstchild" style="display:none">
   <div id="secondchild">
   <div id="thirdchild" style="display:none">
</div>

所以我想要做的是在jquery中找到未隐藏的元素,即。 secondchild。

我猜我应该使用以下方面的东西:隐藏但我实际上想要反过来找到非隐藏的东西。

有人知道怎么做吗?要查找作为父项子项的可见div并使其隐藏?

3 个答案:

答案 0 :(得分:10)

您可以尝试:visible选择器:

$('#parent div:visible').hide()

答案 1 :(得分:3)

幸运的是,还有一个visible

$('#parent > :visible').hide();

答案 2 :(得分:1)

如果目标是隐藏可见元素,那么没有必要专门找到它们。相反,您可以无条件地隐藏所有潜在的元素。

$('#parent > div').hide();

现在隐藏了那些可见的子div。那些已经隐藏的东西仍然是隐藏的。

  • 在一个方面,这是低效的 - 它隐藏了已经隐藏的元素。
  • 另一方面,它是有效的 - 它不会浪费识别可见div的努力。

实际上,在这个和特定的隐藏之间没有多少选择。在这两种情况下,必须解决所有潜在的要素 - 要么是读它们,要么是写入它们或两者兼而有之。