2011-11-09 156 views
3

使用jQuery,我可以將元素的某些屬性設置爲true/false來控制該元素的可見性?使用jQuery設置元素可見性

基本上,我需要的是這樣的:

$(this).visible(someCondition); 

toggle()不會工作,因爲我需要能夠告訴它,它是否會被顯示。

show()hide()工作,但我不得不這樣做:

if (someCondition) { 
    $(this).show(); 
} 
else { 
    $(this).hide(); 
} 

哪像你所看到的,是幾乎沒有,因爲我正在尋找解決方案優雅。

回答

0
jQuery.fn.visibleCond = function(cond) { 
    if (cond) { 
     return this.show(); 
    } else { 
     return this.hide(); 
    }; 
}; 

然後:

$(this).visibleCond(someCondition); 

和小提琴:http://jsfiddle.net/C3daq/

+0

當然,這有效,但在SLak的答案中完全沒有必要。 – maxedison

+0

年..我看到... – andlrc

1

由於SLak建議,切換()的作品。如果您正在使用具有可見性狀態設置的類(即display:none或visibility:hidden),則還可以使用toggleClass()。