如果满足两个条件,我正在尝试显示警告:
display
元素的#playerbox
属性值为block
,AND display
元素的#playerinfo
属性值为none
我有这个:
if ($("#playerbox").css("display") == "block" && $("#playerinfo").css("display") == "none"){
alert("test");
}
但警报从未出现过。但是,只测试一个元素就可以了:
if ($("#playerbox").css("display") == "block"){
alert("test");
}
所以我假设我没有在if
语句中正确地将两个选择器链接在一起。我做错了什么?
更新:我应该在 #playerinfo
内指定#playerbox
。这有什么改变吗?
答案 0 :(得分:5)
为什么不使用:visible
和:hidden
?
if ($("#playerbox:visible,#playerinfo:hidden").length == 2){
...
}
答案 1 :(得分:3)
你确定JQuery真的找到了你想要的元素吗?
alert($("#playerbox").length);
alert($("#playerinfo").length);
如果其中任何一个回来为0,那么你并没有真正得到这些元素。也许你有一个拼写错误,或类名设置而不是id。
答案 2 :(得分:0)
使用is
例如
if($("#playerinfo").is(":hidden")) /* :visible for your other selector */
//do stuff