Jquery 如何检测div是否有滚动条?

Jquery 如何检测div是否有滚动条?,jquery,Jquery,我正在尝试确定某个div是否有滚动条,然后删除该div。 我不确定我做错了什么,但我无法察觉 Jsfiddle: 您的hasHorizontalScrollBar函数工作正常 在内部,如果块此不指向该div,而是指向窗口对象,则将其更改为: if($(".ls-boxscore").hasHorizontalScrollBar()){ $(".ls-boxscore").remove(); } 你可以试试这个代码。 还可以通过向元素添加ID来实现

我正在尝试确定某个div是否有滚动条,然后删除该div。
我不确定我做错了什么,但我无法察觉

Jsfiddle:


您的
hasHorizontalScrollBar
函数工作正常

内部,如果
不指向该div,而是指向
窗口
对象,则将其更改为:

if($(".ls-boxscore").hasHorizontalScrollBar()){
    $(".ls-boxscore").remove();
}
你可以试试这个代码。 还可以通过向元素添加
ID
来实现。使用
id
您不需要进入
元素[0]

(function($) {
    $.fn.hasScrollBar = function() {
        var attrClass = $(this).attr("class");
        var elmnt = document.getElementsByClassName(attrClass);
        return elmnt[0].scrollWidth > this.width();
    }
})(jQuery);


$(function(){
    var scrollBarFound = $('.ls-boxscore').hasScrollBar();
    if(scrollBarFound) {
        console.log('scrollbarfound');
        $('.ls-boxscore').remove();
    }
});

您还没有将jQuery库添加到JSFIDLE,在
$(this).remove()中,此
指向一个
窗口
对象。你想做什么?如果滚动条存在,只是测试删除div。添加了库,忘记了
(function($) {
    $.fn.hasScrollBar = function() {
        var attrClass = $(this).attr("class");
        var elmnt = document.getElementsByClassName(attrClass);
        return elmnt[0].scrollWidth > this.width();
    }
})(jQuery);


$(function(){
    var scrollBarFound = $('.ls-boxscore').hasScrollBar();
    if(scrollBarFound) {
        console.log('scrollbarfound');
        $('.ls-boxscore').remove();
    }
});