2013-12-12 10 views
11

I to dużo zrobić:jQuery Ukryj/pokaż if warunkowego

var condition = true; 
if (condition === true) { 
    $('#condition_dependancy').show(); 
} else { 
    $('#condition_dependancy').hide(); 
} 

Może to być dowolna czystsze składniowo? Mógłbym napisać własny.

$('#condition_dependancy').hidden(condition); 

ale jestem po prostu zastanawiasz się, czy jest coś zbudowany w

Odpowiedz

33

Można użyć toggle:

var condition = true; 
$('#condition_dependancy').toggle(condition); 

marginesie: Don” • używaj rzeczy takich, jak:

, chyba że istnieje możliwość, że condition będzie mieć inną wartość "truey" * i chcesz, aby wyrażenie było prawdziwe, jeśli jest to dokładnie true, a nie, jeśli jest to po prostu prawda. Ogólnie rzecz biorąc == (boolean) i (w JavaScript) === (boolean) jest po prostu szumem (chociaż w JavaScript istnieją przypadki brzegowe do używania wersji ===).

Wolisz:

if (condition) 

i (dla przypadku == false/=== false):

if (!condition) 

* "truthy": W JavaScript, typy może być zmuszany przez wyrażeń. Wszędzie, gdzie spodziewana jest wartość boolowska, jeśli użyjesz czegoś, co nie jest boolowskie, jest wymuszone na bycie takim. Rzeczy wymuszające na true nazywane są wartościami "prawdy"; Rzeczy wiążące się z false są nazywane wartościami "falsey". Wartości falsego są następujące: 0, , NaN, undefined, , i oczywiście, false. Wszystko inne jest zgodne z prawdą.

+1

Dzięki! Nie miałem pojęcia, że ​​przełącznik może zaakceptować ten parametr. Uwzględniłem "=== true" w mojej składni, aby (słabo) wyrazić, że może to być dowolne wyrażenie podlegające ocenie, a nie tylko bool - naprawdę głupie. Ale to jest nadal bardzo dobra notatka dla każdego, kto czyta. (Przyjmuję tę odpowiedź, jak tylko minie mój 10 minutowy limit!) –

6

Korzystanie toggle():

$('#condition_dependancy').toggle(condition);