[javascript] 부울로 요소 숨기기 / 표시

나는 내 코드에 이것들이 많은 경향이 있습니다.

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

자바 스크립트, jquery 또는 밑줄로 패키징 된 더 우아한 방법이 있습니까? 이상적으로는 이와 같은 것을 원합니다.

$element.showOrHideDependingOn(shouldElementBeVisible)



답변

분명히 toggle함수에 부울을 전달할 수 있습니다.

$element.toggle(shouldElementBeVisible)


답변

네, 있습니다!

$element.toggle();

매개 변수가 없으면 toggle요소 가시성을 토글하고 ( visibility속성을 의미하는 것은 아님 ) 요소의 현재 상태에 따라 달라집니다.

$element.toggle(display);

당신이 호출하면 toggle부울 매개 변수 요소는 경우 표시됩니다 truehidden이 경우false

출처


답변

jQuery에는 http://api.jquery.com/toggle/ 이 있습니다 toggle.

$element.toggle();

숨겨져있는 경우 요소를 표시하고 표시되는 경우 숨 깁니다.


답변

이 기능 은 요소 .toggle()display를 변경합니다 .

을 변경하려면 visibility대신 ?:연산자를 사용하는 것이 좋습니다 . 이를 위해 CSS에서 가시성을 원래 상태로 설정하고 JS에서 간단히 다음을 입력하십시오.

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

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


답변