使用if-else更改display:none with jquery

时间:2013-02-11 09:26:03

标签: javascript jquery css

我有两个div:div“#Stage”是display =“block”,并且不时“display:none”。 根据这个,我会出现我的第二个div“#case”,默认是display =“none”。

所以我尝试了这两种方式:

if ($('#Stage').css('display') == 'none') {
    $('#case').css('display','block')
} // added display:none; to my css file at #case

if ($('#Stage').css('display') == 'none'){
    $('#case').show()
} else if ($('#Stage').css('display') != 'none'){
    $('#case').hide()
}

但这两种方法都不起作用,意味着#case div始终显示:none。 有谁知道如何解决它?

感谢

3 个答案:

答案 0 :(得分:7)

我会使用:visible检查元素是否显示,并使用show()hide()方法。

if ($('#Stage').is(':visible'))    
    $('#case').show();    
else
    $('#case').hide();

if ($('#Stage:visible').length)    
    $('#case').show();    
else
    $('#case').hide();

答案 1 :(得分:0)

这可能是因为您在CSS文件中使用display:none,并且它优先。尝试在#case上内联并查看是否有效。

答案 2 :(得分:0)

感谢您的帮助。我的两个解决方案和Adil的第一个解决方案正在发挥作这是与Adobe Edge的排序冲突 - edgeActions.js。