如何检查元素是否由于父元素而不可见,这要归功于它的类

How to check if element is not visible due to parent is hidden thanks its class

本文关键字:元素 归功于 何检查 检查 于父 是否      更新时间:2024-01-17

我有一个复选框数组,希望将它们作为一个组进行切换(选中/取消选中),但只有这些复选框是真正可见的。

<style id=dynamicStyle>DIV.filterLevel3{display:none;}</style>
<div class="filterLevel3">
    <input type=checkbox id=cbx_123456 name=cbx_123456 class=cbxForSwitch>
    ... more elements belonging to the checkbox, 
    ... always hidden on shown together
</div>

dynamicStyle.innerHTML可能会被另一个javascript更改。更改可见性很好,但我需要选择类"cbxForSwitch"中当前可见的所有复选框。

我见过很多使用jQuery的例子,但都是检查所述元素或其样式等的css属性。我需要在资源管理器实现了包括继承在内的所有样式规则后获得实际可见性。

使用jQuery,您可以通过使用parent()函数来获取父元素的css属性。如果父级的"display"css属性设置为none,则可以使用jquery函数prop()选中该框。

$('input[type=checkbox]').each(function() {
  if ($(this).parent().css('display') !== 'none') {
    $(this).prop('checked', true);
  }
});

这是一个JSFiddle