Javascript jQuery:Element still";:“隐藏的”;在.slideDown()之后

Javascript jQuery:Element still";:“隐藏的”;在.slideDown()之后,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个元素,我想用CSSdisplay:none隐藏它,slideDown()在按钮的click()上可见,最后slideUp()回到同一按钮的click()上隐藏 似乎它应该很容易实现,但它不起作用,我发现这是因为元素:hidden属性似乎在slideDown()之后仍然保持true 以下是CSS: #event-form { height: 200px; border: 1px dashed black; margin-bottom: 10px; displ

我有一个元素,我想用CSS
display:none隐藏它
slideDown()
在按钮的
click()
上可见,最后
slideUp()
回到同一按钮的
click()
上隐藏

似乎它应该很容易实现,但它不起作用,我发现这是因为
元素:hidden
属性似乎在
slideDown()之后仍然保持
true

以下是CSS:

#event-form {
    height: 200px;
    border: 1px dashed black;
    margin-bottom: 10px;
    display: none;
}
下面是脚本:

$('#create-new').click(function() {
    if ($('#event-form:hidden')) {
        $('#event-form').slideDown();
    }
    else {
        $('#event-form').slideUp();
    }
});
有什么建议吗?谢谢。

如果($('#事件形式:hidden'){}
条件
返回true,无论是否选择了任何内容。要检查元素是否隐藏,可以使用
.is()
方法(该方法将返回布尔值):

或者检查jQuery对象的长度:

$('#event-form:hidden').length

您也可以使用
.slideToggle()
方法:

$('#create-new').click(function() {
    $('#event-form').slideToggle();
});
无论是否选择任何内容,if($('#事件形式:hidden'){}
条件都返回true。要检查元素是否隐藏,可以使用
.is()
方法(该方法将返回布尔值):

或者检查jQuery对象的长度:

$('#event-form:hidden').length

您也可以使用
.slideToggle()
方法:

$('#create-new').click(function() {
    $('#event-form').slideToggle();
});

从CSS中删除
display:none
,并使用JavaScript隐藏它:

$("#event-form").hide();
而不是
:hidden
将其更改为:

if ($('#event-form').is(':hidden')) {

从CSS中删除
display:none
,并使用JavaScript隐藏它:

$("#event-form").hide();
而不是
:hidden
将其更改为:

if ($('#event-form').is(':hidden')) {

保留“display:none”,但使用$(“#事件形式”)。是(“:hidden”)Praveen Kumar,为什么要删除
display:none
?你的回答中没有解释任何东西。@JoshCrozier没关系。你解释得很好。我对你的答案投了赞成票。保留了“display:none”,但使用了$(“#event form”)。是(“:hidden”)Praveen Kumar,为什么要删除
display:none
?你的回答中没有解释任何东西。@JoshCrozier没关系。你解释得很好。我赞成你的回答。你解释得很好。我赞成你的回答。你解释得很好。我投票赞成你的答案。