[jquery] jQuery 및 CSS-제거 / 추가 디스플레이 : 없음

이 클래스에 div가 있습니다.

.news{
  width:710px;
  float:left;
  border-bottom:1px #000000 solid;
  font-weight:bold;
  display:none;
}

그리고 일부 jQuery 메서드를 사용하여 해당 디스플레이를 제거하고 싶습니다. (그래서 div가 표시됩니다) 다시 추가하는 것보다 div가 음영 처리됩니다.

내가 어떻게 해? 건배



답변

숨기려면 div

$('.news').hide();

또는

$('.news').css('display','none');

그리고 보여주기 위해 div :

$('.news').show();

또는

$('.news').css('display','block');


답변

jQuery는 다음을 제공합니다.

$(".news").hide();
$(".news").show();

그런 다음 요소를 쉽게 표시하고 숨길 수 있습니다.


답변

그래서 샘플 코드를 제공하겠습니다.

<div class="news">
Blah, blah, blah. I'm hidden.
</div>

<a class="trigger">Hide/Show News</a>

링크는 클릭시 div를 표시하는 트리거가됩니다. 따라서 Javascript는 다음과 같습니다.

$('.trigger').click(function() {
   $('.news').toggle();
});

거의 항상 jQuery가 요소를 숨기고 표시하는 스타일을 처리하도록하는 것이 좋습니다.

편집 : 위의 사람들 이 .show.hide이것을 사용하도록 권장하는 것을 봅니다 . .toggle하나의 효과로 두 가지를 모두 수행 할 수 있습니다. 그래서 멋지다.


답변

JavaScript에서 :

getElementById("id").style.display = null;

jQuery에서 :

$("#id").css("display","");


답변

표시하거나 숨기려면 토글을 사용하세요.

$('#mydiv').toggle()

http://jsfiddle.net/jNqTa/ 에서 작동 예를 확인하십시오.


답변

요소를 표시 / 숨기기 위해 클래스를 추가하는 것이 좋습니다.

.hide { display:none; }

그런 다음 jquery의 .toggleClass () 를 사용 하여 요소를 표시하거나 숨 깁니다.

$(".news").toggleClass("hide");


답변

jQuery의 css-api를 통해 인라인 “display : none”을 제거하는 유일한 방법은 빈 문자열로 재설정하는 것입니다 (null btw !! 작동하지 않음).

jQuery 문서에 따르면 이것은 한 번 설정된 인라인 스타일 속성을 “제거”하는 일반적인 방법입니다.

$("#mydiv").css("display","");

또는

$("#mydiv").css({display:""});

트릭을 제대로해야합니다.

IMHO에는 다른 인라인 스타일 속성을 설정하는 대신 위에서 설명한대로 표시 값을 적절하게 설정 해제하는 “숨기기 해제”또는 “공개”라고 할 수있는 jQuery에 누락 된 메서드가 있습니다. 또는 hide()초기 인라인 값을 저장하고 show()복원해야 할 수도 있습니다.