Javascript 使用if语句检查元素是否为display:block jquery

Javascript 使用if语句检查元素是否为display:block jquery,javascript,jquery,if-statement,conditional,Javascript,Jquery,If Statement,Conditional,我试图检查一个元素是否是显示块,如果是,我想执行一些代码。下面是我的代码,它是一个大函数,但我试图检查div is display block是否在底部,如果它是display block,那么我想执行blur方法。 正如您在底部看到的,我开始编写if($suggestionsWrapper===我的意图是编写建议包装器是否显示无,然后执行此操作。我只是不知道如何执行此操作,我编写的内容不起作用。此外,我对所有这些都是新手,如果这真的很混乱或没有意义,我很抱歉,我仍在学习 //Header S

我试图检查一个元素是否是显示块,如果是,我想执行一些代码。下面是我的代码,它是一个大函数,但我试图检查div is display block是否在底部,如果它是display block,那么我想执行blur方法。 正如您在底部看到的,我开始编写
if($suggestionsWrapper===
我的意图是编写建议包装器是否显示无,然后执行此操作。我只是不知道如何执行此操作,我编写的内容不起作用。此外,我对所有这些都是新手,如果这真的很混乱或没有意义,我很抱歉,我仍在学习

 //Header Search Handler
    function headerSearchHandler(){
        var $searchInput = $(".header-search input[type=text]"),
            $searchSubmit = $(".header-search input[type=submit]"),
            $mobSearchBtn = $(".mobile-search-btn"),
            $myAccountText = $(".menu-utility-user .account-text"),
            $miniCart = $("#header #mini-cart"),
            $searchForm = $(".header-search form"),
            $headerPromo = $(".header-promo-area");
            $suggestionsWrapper = $('#suggestions-wrapper');

//        
        $mobSearchBtn.on("click touchend", function(e) {

            $(this).hide();
            //$myAccountText.hide();
            $searchInput.show();
            $searchInput.addClass('grey-line');
            $searchSubmit.show();
            $miniCart.addClass("search-open");
            $searchForm.addClass("search-open");
            setTimeout(function() {
                $searchInput.addClass("active").focus();
            }, 100);
            e.stopPropogation();

        });

        $searchInput.on("click touchend", function(e) {
             $searchInput.addClass('grey-line');
             e.stopPropogation();

        }).blur(function(e) {
            var $this = $(this);

            if($this.hasClass("active")){
                $this.removeClass("active");
                $searchSubmit.hide();
                $mobSearchBtn.show();
                $miniCart.removeClass("search-open");
                $searchForm.removeClass("search-open");
            }
        });
        $searchInput.focus(function(e){
            $(this).css('width', '145px');
        })
       if ($suggestionsWrapper.css('display') == 'none') {
        $searchInput.blur(function(e){
            $(this).removeClass('grey-line');
            $(this).css('width', '145px');  
        }
    })
    }//End Header Search Handler

你可以这样做,我想:

if ($suggestionsWrapper.css('display') == 'block')
{
   // true
} else {
   // false
}
根据您的代码,我认为您的
}
错误,应该是:

if ($suggestionsWrapper.css('display') == 'none') {
        $searchInput.blur(function(e){
            $(this).removeClass('grey-line');
            $(this).css('width', '145px');  
        })
}

我希望这有帮助!

您可以创建一个帮助器方法来检查显示是否为块:

function checkDisplay(element) {
  return $(element).css('display') == 'block';
} 
然后你可以像这样检查它:

 if(checkDisplay("#myElement")){
   console.log("Display is Block")
 }
 else {
   console.log("Display is NOT Block")
 }
以下是一个例子: