Javascript if语句验证不正确

Javascript if statement not validating correct

本文关键字:不正确 验证 语句 if Javascript      更新时间:2023-09-26

这个小JS意味着当用户点击按钮时运行。首先,我检查一个元素是否可见-然后根据检查显示/隐藏它。

问题是if语句每次都验证为FALSE——即使else语句设置了样式。显示我在if语句中所要求的内容

在我的简单世界中,语句每运行一次就返回true…

if (d[0].style.diplay == 'block') {
    $(d[0]).slideUp('slow');
} else {
    d[0].style.display = 'block';       
}

我在监督什么?

diplay打字错误旁边…(缺少s)
slideUp时可以直接做.is(":visible")
这取决于你想要什么(从你当前的问题中不清楚),但是看这个:

var $el = $(d[0]);
if( $el.is(":visible") ){
    // is visible
}else{
    // is slided up (not visible)
}

你也可以直接slideToggle()

var $el = $(d[0]);
$el.slideToggle();

你可以使用jQuery检查CSS规则,你知道…

var elDisplay = $el.css("display"); // "none", "block", "inline-block" ...

因为我看到你已经使用jQuery了…不需要,但这是为了让你的生活更容易-所以,而不是var d = document.getElementsByClassName('.level4_class');

使用

var $el = $('.level4_class');

完成后,您可以从.css()方法回调中访问所需的CSS属性:

$el.css("display", function(index, displayValue){ // Iterates over all .level4_class el.
    if( displayValue==="block") { // ...checking for "block" value
       // do something using $(this)
    }
});

jsbin演示