Jquery 如何计算溢出隐藏类

Jquery 如何计算溢出隐藏类,jquery,Jquery,在jquery中,如何计算overflow-y隐藏的div类?我试图使用它,但它只计算hide() 如何计算溢出y:隐藏?您可以尝试以下方法: var length = $(".classname > *").filter(function() { return this.style.overflowY == "hidden" }).size(); alert(length); 问题是:hidden是一个选择器,用于检查是否有任何dom节点在屏幕上不可见 但是,您希望看到特定对象中有

在jquery中,如何计算overflow-y隐藏的div类?我试图使用它,但它只计算
hide()


如何计算溢出y:隐藏?

您可以尝试以下方法:

var length = $(".classname > *").filter(function() {
  return this.style.overflowY == "hidden"
}).size();
alert(length);
问题是
:hidden
是一个选择器,用于检查是否有任何dom节点在屏幕上不可见

但是,您希望看到特定对象中有多少元素具有css属性
overflow-y:hidden

这是一个css属性,所以有两种方法:

在javascript中使用
.style.overflowY

elem.style.overflowY == "hidden"
使用jquery:

$(this).css('overflow-y') == "hidden"
var length=$(“.clas>*”).filter(函数(){
返回this.style.overflowY==“隐藏”
}).size();
警报(长度)


假设您有以下html标记

<style>
    .className
    {
        overflow-y:hidden;
    }
</style>
<div class="className">div1</div>
<div class="className">div2</div>
<div class="className" style="overflow-y:auto">div3</div>
<div class="className" style="overflow-y:auto">div4</div>
<div class="className">div5</div>
<div class="className">div6</div>
如果您有以下标记,但没有任何类别规范

<div style="overflow-y:hidden">div1</div>
<div style="overflow-y:hidden">div2</div>
<div style="overflow-y:auto">div3</div>
<div style="overflow-y:auto">div4</div>
<div style="overflow-y:hidden">div5</div>
<div style="overflow-y:hidden">div6</div>
编辑

上述方法仅适用于父元素。如果您只需要为子对象使用选择器,只需使用

$(document).ready(function()
{
    alert($('div.className > *').filter(function() {
    return $(this).css('overflow-y') == 'hidden';
    }).size());
});
如果需要父项和子项的选择器,可以使用

$(document).ready(function()
{
    alert($('div.className, div.className *').filter(function() {
    return $(this).css('overflow-y') == 'hidden';
    }).size());
});

共享您的标记示例
$(document).ready(function()
{
    alert($('div').filter(function() {
    return $(this).css('overflow-y') == 'hidden';
    }).size());
});
$(document).ready(function()
{
    alert($('div.className > *').filter(function() {
    return $(this).css('overflow-y') == 'hidden';
    }).size());
});
$(document).ready(function()
{
    alert($('div.className, div.className *').filter(function() {
    return $(this).css('overflow-y') == 'hidden';
    }).size());
});