Hide/show element with a boolean
JavascriptJqueryunderscore.jsVisibilityJavascript Problem Overview
I tend to have a lot of these in my code
if(shouldElementBeVisible)
$element.show()
else
$element.hide()
Is there any more elegant way packaged with javascript, jquery, or underscore? Ideally I want something that looks like this
$element.showOrHideDependingOn(shouldElementBeVisible)
Javascript Solutions
Solution 1 - Javascript
Apparently you can just pass a boolean to the toggle
function
$element.toggle(shouldElementBeVisible)
Solution 2 - Javascript
Yes there is!
$element.toggle();
Without any parameters, toggle
just toggles the elements visibility (I don't mean the visibility
property) and depends on the current state of the element.
$element.toggle(display);
If you call toggle
with a boolean parameter, element is shown if it is true
and hidden
if it is false
Solution 3 - Javascript
jQuery has toggle
: http://api.jquery.com/toggle/
$element.toggle();
This will show the element if it's hidden, and hide it if it's shown.
Solution 4 - Javascript
$element[ shouldElementBeVisible?'show':'hide' ]()