Подтвердить что ты не робот

Скрыть/показать элемент с булевым

У меня, как правило, много всего в моем коде

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

Есть ли еще более элегантный способ для javascript, jquery или underscore? В идеале я хочу что-то похожее на это

$element.showOrHideDependingOn(shouldElementBeVisible)
4b9b3361

Ответ 1

По-видимому, вы можете просто передать логическое значение в функцию toggle

$element.toggle(shouldElementBeVisible)

Ответ 2

Да, есть!

$element.toggle();

Без каких-либо параметров toggle просто переключает видимость элементов (я не имею в виду свойство visibility) и зависит от текущего состояния элемента.

$element.toggle(display);

Если вы вызываете toggle с логическим параметром, элемент отображается, если он true и hidden, если он false

источник

Ответ 3

jQuery имеет toggle: http://api.jquery.com/toggle/

$element.toggle();

Это покажет элемент, если он скрыт, и спрячьте его, если он показан.

Ответ 4

Функция .toggle() изменяет display элемента.

Если вы хотите изменить visibility, вместо этого я бы предложил использовать оператор ?:. Для этого на вашем CSS установите видимость в исходное состояние, а в JS просто поставьте:

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

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