使用布尔值隐藏/显示元素

时间:2015-01-14 18:41:04

标签: javascript jquery underscore.js visibility

我的代码中往往会有很多这些

if(shouldElementBeVisible)
    $element.show()
else
    $element.hide()

有没有更优雅的方式打包javascript,jquery或下划线?理想情况下,我想要一些看起来像这样的东西

$element.showOrHideDependingOn(shouldElementBeVisible)

5 个答案:

答案 0 :(得分:153)

显然你可以将布尔值传递给toggle函数

$element.toggle(shouldElementBeVisible)

答案 1 :(得分:11)

是的!

$element.toggle();

没有任何参数,toggle只是切换元素可见性(我不是指visibility属性)并且取决于元素的当前状态。

$element.toggle(display);

如果使用布尔参数调用toggle,则会显示元素truehidden(如果是false

source

答案 2 :(得分:2)

jQuery有togglehttp://api.jquery.com/toggle/

$element.toggle();

这将显示元素是否隐藏,如果显示则隐藏它。

答案 3 :(得分:0)

函数.toggle()更改了元素的display

如果您想更改visibility,我建议您使用?:运算符。为此,在CSS上,将可见性设置为原始状态,并在JS中简单地放置:

    var checkboxChecked = $("#yourCheckbox").(":checked");

    $("#yourElement").css("visibility", checkboxChecked ? "visible" : "hidden");

答案 4 :(得分:0)

$element[ shouldElementBeVisible?'show':'hide' ]()