2011-11-09 109 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()。