我有两个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。 有谁知道如何解决它?
感谢
答案 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。