首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算隐藏元素,而不考虑父可见性

计算隐藏元素,而不考虑父可见性
EN

Stack Overflow用户
提问于 2016-04-15 09:48:42
回答 2查看 989关注 0票数 1

不管父可见性如何,我都需要计算隐藏的元素。

我有这样的代码:

代码语言:javascript
复制
<div id="parent-1">    
    <div class="item" style="display: none;"></div>
    <div class="item" style="display: none;"></div>
    <div class="item"></div>
    <div class="item" style="display: none;"></div>
</div>

<script>
   var hidden_items = $('#parent-1').find('.item:hidden').length;
   console.log (hidden_items);
</script>   

在本例中,我获得了3项,因此是正确的。

但是有了这个代码:

代码语言:javascript
复制
<div id="parent-2" style="display: none;">    
    <div class="item" style="display: none;">
    <div class="item" style="display: none;">
    <div class="item">
    <div class="item" style="display: none;">
</div>

<script>
   var hidden_items = $('#parent-2').find('.item:hidden').length;
   console.log (hidden_items);
</script>   

我得到了4元素!因为父母是一个隐藏的元素,但我需要得到3。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-15 09:53:19

可以使用filter函数筛选出将display属性设置为none的元素:

代码语言:javascript
复制
var hidden_items = $('#parent-2 .item').filter(function(){
 return $(this).css('display') == "none"
}).length;

工作片段:

代码语言:javascript
复制
$(function(){
var hidden_items = $('#parent-2 .item').filter(function(){
 return $(this).css('display') == "none"
 
 }).length;
 alert (hidden_items);
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parent-2" style="display: none;">    
    <div class="item" style="display: none;">
    <div class="item" style="display: none;">
    <div class="item">
    <div class="item" style="display: none;">
</div>

票数 1
EN

Stack Overflow用户

发布于 2016-04-15 09:55:01

这是因为,当父元素被隐藏时,其子元素也将被隐藏。这是自然的行为。如果您仍然希望获取元素,而不管其父显示属性如何,那么使用.filter及其callBack函数。

代码语言:javascript
复制
var hidden_items = $('#parent-2 .item').filter(function(){
 return this.style.display == "none"
}).length;

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36643771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档