2012-04-04 32 views
3

我有了这个检查是否隐藏等于真或假的jQuery

$('#div').attr("hidden", true); 

我想:

var a = $('#div').attr("hidden"); 
var b = $('#div').attr("hidden").val(); 
var c = $('#div').hidden; 
var a = $('#div').disabled; 

我只是想知道是否隐藏着是真还是假。有人知道吗?我的研究成果都是关于形式和投入。

+1

什么是 “隐藏” 呢?我不知道有一个div的“隐藏”属性。 – Joseph 2012-04-04 09:21:55

+0

你想做什么?隐藏div或在属性中存储值? – gdoron 2012-04-04 09:27:11

回答

9

属性将永远不会是true,它只能有字符串。
的jQuery有对象以外字符串data功能:

$('#div').data("hidden", true);  // set the "hidden" data 
var flag = $('#div').data("hidden"); // get the "hidden" data (true) 

如果你想隐藏div,使用.hide()

$('#div').hide(); 

你检查,如果DIV可见与:visible \ :hidden

$('#div').is(':visible'); // Or $('#div').is(':hidden') 
+1

我建议使用数据隐藏而不是隐藏的html5兼容性,并更好地将其用于jquery.data。此外,您可以使用数字表示0(假),1(真) – Panagiotis 2012-04-04 09:23:54

+0

非常感谢那是如何做到这一点! – p0rter 2012-04-04 09:40:17

+0

@Panagiotis。您最好阅读API网站中的'data'文档。 – gdoron 2012-04-24 17:59:38

1

我想你意味着jQuery的visible

.is(':visible') 
1

另外,您可以使用

$('#div').toggle(showOrHide); 

其中showOrHide是假隐藏或显示真布尔。

这是一样的做

if (showOrHide == true) { 
    $('#div').show(); 
} else if (showOrHide == false) { 
    $('#div').hide(); 
} 

希望这有助于