2

我有两个 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 总是在 display:none 上。有谁知道如何解决它?

谢谢

4

3 回答 3

7

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

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

或者

if ($('#Stage:visible').length)    
    $('#case').show();    
else
    $('#case').hide();
于 2013-02-11T09:28:25.307 回答
0

谢谢你的帮助。我的两个解决方案和第一个来自 Adil 的解决方案正在工作。这是与 Adob​​e Edge - edgeActions.js 的排序冲突。

于 2013-02-12T07:55:44.723 回答
0

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

于 2013-02-11T09:28:16.887 回答