2012-05-16 3 views
24
<div class='hide'>A</div> 
<div class='hide'>B</div> 
<div class='hide' id='1'>C</div> 

나는 모든 요소를 ​​숨기고 id = '1'인 showOne이라는 함수가 있습니다.Jquery hide() 하나를 제외한 특정 클래스가있는 모든 요소

function showOne(id) { 
// Hide all elements with class = 'hide' 
$('#'+id).show(); 
} 

jquery에서 class = 'hide'인 모든 요소를 ​​숨기려면 어떻게해야합니까? 참고

+2

단지 참고 사항입니다. HTML5가 아닌 한 number로 시작하는'id'를 사용할 수 없습니다. – Bongs

답변

40

같은 것을보십시오.

+0

+1 - 이제는 표시하고 표시 할 요소를 숨길 필요가 없기 때문에 .not()을 사용하는 것이 더 좋은 해결책입니다. "깜박 거리는"효과를 피하면서 더 나은 UI 경험이라고 생각합니다. – alieninlondon

+0

'$ ('. 숨기기 : 아니요 (#'+ id + ')'). hide();'역시 본질적으로 동일합니다 ... – Fr0zenFyr

+4

그냥 잠깐 시간을 내서 예제가 얼마나 잘못 작성되었는지 알고 싶습니다. 총 초보자, 당신이 당신의 클래스를 'hide'라고 명명했기 때문입니다.hide() 함수는 사람들이이 둘 사이에 링크가 있다고 생각하게 할 수 있습니다. 나는이 패턴을 어디에서나 볼 수 있으며, 내가 배우고있을 때 그러한 예를 겪는 것이 고통이었습니다. – Edeph

4
$('div.hide').hide(300,function() { // first hide all `.hide` 
    $('#'+ id +'.hide').show(); // then show the element with id `#1` 
}); 

은 : 만 숫자 ID를 사용하지 마십시오. 허용되지 않습니다. READ THIS

+1

html5에서 숫자 ID를 사용할 수 있습니다 - 현재 지원하지 않는 브라우저를 알고 있습니까? – nnnnnn

0

나는 솔루션이 얼마나 쉬운 지 거의 부끄러워하고 질문을 작성한 직후에 발견했습니다. 그냥 :

$('.hide').hide(); 
+0

입문 jQuery 튜토리얼 (jQuery 웹 사이트 중 하나와 같은)을 읽으면 일반적인 선택기 (ID, 클래스, 태그 이름 선택, 부모/자식 관계를 통한 선택 등)에 대한 모든 것을 배울 수 있지만 CSS 선택기 구문과 본질적으로 같습니다. 일단 당신이 그 교수형을 얻으면, 선택된 요소 (예 :'.hide()')를 호출 할 메소드를 결정하는 것이 쉬운 부분입니다. – nnnnnn

+0

id = "1"인 요소를 숨기지 않는 것은 어떨까요? 당신의 자신의 대답은 당신 자신의 질문에 완전히 대답하지 않습니다! – Griknok

0

당신은 를 사용하여 숨기기 등의 클래스 모든 구성 요소를 숨길 수 있습니다. $ ('. 숨기기'). 숨기기();

function showOne(id) { 
    $('.hide').not('#' + id).hide(); 
} 

showOne(1);​ 

데모 : http://jsfiddle.net/aymansafadi/kReZn/ 그래도 @TheSystemRestart에 동의

, "참고 : 숫자 만 ID를 사용하지 마십시오"

0

시도 :

당신은 CSS 클래스 이름으로 요소에 액세스해야
function showOne(id) { 
    $('.hide').hide(); 
    $('#'+id).show(); 
} 
3

. 이렇게하려면 을 사용하십시오. 연산자

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

모든 div가 숨겨집니다.

이제 한 div를 ID로 표시하십시오.

$('#elemID').show(); 

은 또는 당신은 또한 클래스 숨기기을 가진 최초의 사업부를 표시합니다

$('.hide').eq(0).show(); 

를 사용하여이 작업을 수행 할 수 있습니다.

관련 문제