jQuery & CSS - 디스플레이 제거/추가: 없음
나는 이 클래스의 디브가 있습니다.
.news{
width:710px;
float:left;
border-bottom:1px #000000 solid;
font-weight:bold;
display:none;
}
그리고 몇 가지 jQuery 방법을 사용하여 해당 디스플레이를 제거하고 싶습니다. 없음; (따라서 디브가 표시됨) 그리고 다시 추가하는 것보다 (따라서 디브가 그림자를 지움).
어떻게 하면 되죠?
을 div
$('.news').hide();
아니면
$('.news').css('display','none');
를 위해 을 div
:
$('.news').show();
아니면
$('.news').css('display','block');
jQuery는 다음을 제공합니다.
$(".news").hide();
$(".news").show();
그런 다음 요소를 쉽게 표시하고 숨길 수 있습니다.
자바스크립트의 경우:
getElementById("id").style.display = null;
InjQuery:
$("#id").css("display","");
샘플 코드를 알려드리겠습니다.
<div class="news">
Blah, blah, blah. I'm hidden.
</div>
<a class="trigger">Hide/Show News</a>
링크를 클릭하면 div가 표시되는 트리거가 됩니다.그래서 당신의 자바스크립트는 다음과 같습니다.
$('.trigger').click(function() {
$('.news').toggle();
});
숨김과 보여주기 위한 스타일링을 jQuery에게 맡기는 것이 거의 항상 더 좋습니다.
편집: 위의 사용자들이 다음을 사용할 것을 권장합니다..show
그리고..hide
ㅜㅜㅜ.toggle
단 하나의 효과로 두 가지를 모두 수행할 수 있습니다.멋지네요.
표시하고 숨기려면 토글을 사용합니다.
$('#mydiv').toggle()
http://jsfiddle.net/jNqTa/ 에서 작동 사례를 확인합니다.
를 통해 로 재설정하는 입니다(jQuery cs-api "display:none" "display:none" ").null
그건 그렇고 작동하지 않습니다!!).
jQuery 문서에 따르면 이 방법은 한 번 설정된 인라인 스타일 속성을 "제거"하는 일반적인 방법입니다.
$("#mydiv").css("display","");
아니면
$("#mydiv").css({display:""});
요령을 제대로 부려야 합니다.
IMHO에는 jQuery에 "숨김 해제" 또는 "공개"라고 할 수 있는 메서드가 누락되어 있습니다. 이 메서드는 다른 인라인 스타일 속성만 설정하는 대신 위에서 설명한 대로 디스플레이 값을 적절하게 설정 해제합니다.아니면 아마hide()
는 초기 기을야다인 를 .show()
회복시켜야 할...
요소를 표시/숨기기 위해 클래스를 추가할 것을 제안합니다.
.hide { display:none; }
그런 다음 jquery의 .toggleClass()를 사용하여 요소를 표시/숨깁니다.
$(".news").toggleClass("hide");
많은 정보를 제공하지는 않지만 일반적으로 다음과 같은 방법이 있습니다.
$("div.news").css("display", "block");
jQuery의 .show() 및 .hide() 함수가 아마도 최선의 선택일 것입니다.
어떤 이유에서인지 토글이 안되고 오류가 발생했습니다.uncaught type error toggle is not a function
브라우저에서 때검사할 요소를 때 so i 검사할 and the working for 요소를 it used 브라우저에서 code me following started and <nat> <nat> 그래서 저는 다음 코드를 사용했고 그것이 저에게 효과가 있기 시작했습니다.
$(".trigger").click(function () {
$('.news').attr('style', 'display:none');
})
사용된 파일 된 jquery jquery-2.1.3.min.js
.
만약 당신이 많은 요소를 가지고 있다면 당신은 하고 싶습니다..hide()
아니면.show()
, 사용하더라도 원하는 작업을 수행하기 위해 많은 자원을 낭비하게 됩니다..hide(0)
아니면.show(0)
- 0는의속다다속의는ee0f-sn0r
Prototype.js와 반대로 .hide()
그리고..show()
요소의 디스플레이 속성을 조작하는 데만 사용되는 메소드, jQuery의 구현은 더 복잡하며 많은 요소에 권장되지 않습니다.
이 경우에는 아마도 당신이 시도해봐야 할 것입니다..css('display','none')
숨다.css('display','')
보여줄
.css('display','block')
인라인 요소, 테이블 행(모든 테이블 요소 포함) 등을 사용하는 경우에는 특히 피해야 합니다.
최상의 답변을 위한 롤레스크의 의견을 고려하여 속성이나 클래스를 추가하여 보통과 다른 표시 속성을 가진 요소를 표시/숨길 수 있습니다. 사이트에서 하위 호환성이 필요하다면 클래스를 만들고 요소를 표시/표시하기 위해 추가/제거하는 것을 제안합니다.
.news-show {
display:inline-block;
}
.news-hide {
display:none;
}
인라인 블록을 원하는 디스플레이 방법으로 대체하고 jquery addclass https://api.jquery.com/addclass/ 을 사용하고 show/hide 대신 class https://api.jquery.com/removeclass/ 을 제거합니다. 하위 호환성에 문제가 없다면 이와 같은 속성을 사용할 수 있습니다.
.news[data-news-visible=show] {
display:inline-block;
}
.news[data-news-visible=hide] {
display:none;
}
그리고 jquery atttract http://api.jquery.com/attr/ 을 사용하여 요소를 표시하고 숨깁니다.
어떤 방법을 선호하시든지 간에 이런 식으로 요소를 표시/숨길 때 cs3 애니메이션을 쉽게 구현할 수 있습니다.
사용.show()
덧셈display:block
대신에display:hide
깨질지도 모르는 일이죠
그것을 피하기 위해, 당신은 재산이 있는 클래스를 가질 수 있습니다.display:none
그리고 해당 요소에 대한 클래스를 다음과 같이 전환합니다.toggleClass()
.
$("button").on('click', function(event){ $("div").toggleClass("hide"); });
.hide{
display:none;
}
div{
width:40px;
height:40px;
background:#000;
margin-bottom:20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div></div>
<button>Toggle Box</button>
어떤 대답도 이것에 대해 언급하지 않았습니다.
다음은 JS를 사용하여 보여주고 숨기는 몇 가지 예시입니다.
http://jsfiddle.net/vsLkb8a7/8/
CSS:
<style>
.elem{
width:300px;
height:300px;
}
.divClass1{
background:red;
}
.divClass2{
background:blue;
}
.divClass3{
background:green;
}
.divClass4{
background:orange;
}
.divClass5{
background:black;
}
.divClass6{
background:yellow;
}
.hidemeClass{
display:none;
}
.showmeClass{
display:block;
}
</style>
HTML:
<button class="myBtn">show and hide div</button>
<div id="" class="elem divClass1"></div>
<div id="" class="elem divClass2 showmeClass"></div>
<div id="divId" class="elem divClass3"></div>
<div id="" class="elem divClass4"></div>
<div id="" class="elem divClass5"></div>
<div id="" class="elem divClass6"></div>
jS:
jQuery(".myBtn").click(function () {
//Simple toggle
jQuery('.divClass1').toggle();
//OR use a toggle between classes. Of course you would have to add: .hidemeClass{display:none;}.showmeClass{display:block;} to your stylesheet and the element should have atleast the default class.
jQuery('.divClass2').toggleClass('hidemeClass showmeClass');
//OR let's use a toggle with a case statement
jQuery(this).toggleClass('hidediv');
if (jQuery(this).hasClass('hidediv')){
//using Plain Javascript
const el= document.getElementById("divId");
el.style = "display:none;"; //display:unset or :initial
//or using Attr()
jQuery('.divClass4').attr('style', 'display:none');
//display:unset or :initial
//or using css()
jQuery('.divClass5').css('display','none');
//display:unset or :initial
//or using builtin hide()
jQuery('.divClass6').hide();
}else{
//using Plain Javascript
const el= document.getElementById("divId");
el.style = "display:block;"; //display:unset or :initial
//or using Attr()
jQuery('.divClass4').attr('style', 'display:block');
//display:unset or :initial
//or using css()
jQuery('.divClass5').css('display','block');
//display:unset or :initial
//or using builtin show()
jQuery('.divClass6').show();
}
});
언급URL : https://stackoverflow.com/questions/5059596/jquery-css-remove-add-displaynone
'bestsource' 카테고리의 다른 글
스프링 또는 EJB3 또는 이들 모두를 함께 사용하는 것이 언제 필요하거나 편리합니까? (0) | 2023.09.06 |
---|---|
html 요소를 ajax 응답으로 대체하는 방법은? (0) | 2023.09.06 |
함수의 정의에 함수 프로토타입 형태의 def를 사용할 수 있습니까? (0) | 2023.09.06 |
통화 컨텍스트 대 스레드 정적 (0) | 2023.09.01 |
Null 병합 연산자 각도 2 (0) | 2023.09.01 |