2016-04-06 23 views

回答

1

我想你想知道如何从JavaScript代码中做到这一点?如果是这样,那么你可以使用jQuery的(':visible')函数。如果没有,我将其发布给将来可能正在寻找此用户的用户。

$("#selector").is(":visible") // returns true or false 

它检查以下条件。

  • 样式是display:none
  • 表格input元件与type="hidden"
  • widthheight组为0px。
  • 如果任何父母有风格是display:none
1

有不检查使用Vanilla JS™父元素display: none现成的办法,因为:

  1. 您没有访问一个Array包含元素的所有父元素(不采用unti :has(),然后与querySelectorAll()一起使用)。

  2. display是一个non-inherited property,这使得getComputedStyle()一个不去(甚至这工作,它将无法检测到中断继承)。

您必须遍历。