我有这样的标签。
<li id="singlechatpanel-1" style="visibility: hidden;">
//content
</li>
试着像这样检查一下:
$(".subpanel a").click(function()
{
var chatterNickname = $(this).text();
if(!$("#singlechatpanel-1").is(':visible'))
{
alert("Room 1 is filled.");
$("#singlechatpanel-1").css({'visibility':'visible'});
$("#singlechatpanel-1 #chatter_nickname").html("Chatting with: " + chatterNickname);
}
如果condition总是返回false。如何检查此div的可见性状态?
答案 0 :(得分:49)
is(':visible')
检查元素的display
属性,您可以使用css
方法。
if (!$("#singlechatpanel-1").css('visibility') === 'hidden') {
// ...
}
如果您将元素的display
属性设置为none
,那么您的if
语句将返回true
。
答案 1 :(得分:47)
$("#singlechatpanel-1").is(':visible');
$("#singlechatpanel-1").is(':hidden');
答案 2 :(得分:15)
如果元素被jquery隐藏,则使用
if($("#elmentid").is(':hidden'))
答案 3 :(得分:8)
您可以使用.css()
获取“公开程度”的值:
if( ! ( $("#singlechatpanel-1").css('visibility') === "hidden")){
}
答案 4 :(得分:3)
您可以使用(':hidden')方法查找您的div是否可见.. 如果您在代码中多次使用它,也可以缓存元素。
$(".subpanel a").click(function()
{
var chatterNickname = $(this).text();
var $chatPanel = $("#singlechatpanel-1");
if(!$chatPanel.is(':hidden'))
{
alert("Room 1 is filled.");
$chatPanel.show();
$("#singlechatpanel-1 #chatter_nickname").html("Chatting with: " + chatterNickname);
}
});
答案 5 :(得分:3)
if (!$('#singlechatpanel-1').css('display') == 'none') {
alert('visible');
}else{
alert('hidden');
}
答案 6 :(得分:1)
将您的li
添加到某个班级,并在开始时执行$(".myclass").hide();
隐藏它而不是可见性样式属性。
据我所知,jquery使用display
样式属性来显示/隐藏元素而不是可见性(在这两种情况下可能是错误的,无论哪种情况都值得尝试)
答案 7 :(得分:0)
您可以通过以下任何一种两种方式:
$("#elementId").css('visibility')
and
$("#elementId").is(':visible');
如果您的元素可见则
$("#elementId").css('visibility') will return "visible"
and
$("#elementId").is(':visible') will return true
但如果您的元素不可见,则
$("#elementId").css('visibility') will return undefined
and
$("#elementId").is(':visible') will return false