2010-12-15 11 views
2

div의 배열을 가지고 있는데 그 div를 모두 닫아야합니다. 나는 아래 코드를 사용했다. 작동하지 않습니다. 어떻게하는지.jquery에서 id를 동적으로 전달하는 방법

$.each([id_1, id_2], function(index, value) { 
    //alert(index + ': ' + value); 

$("#"+value).css({'display' : 'none'}); 

}); 

은 내가 $("#"+id_value)

+0

유사 : http://stackoverflow.com/questions/4448924/getting-div- id-values-from-string-and-manupulating-it – sje397

답변

3

당신은 Array join 방법을 사용할 수 있습니다 :

var idsInJquerySyntax = '#' + [id_1, id_2, id_3].join(', #'); 

$(idsInJquerySyntax).css({ 
display: 'none' 
}); 

현재 작업 데모를 볼 수 있습니다 http://www.jsfiddle.net/qHVg7/

1

동적으로 ID를 전달할 필요가 문자열로 전달보십시오? 예 : 사용자의 ID를 이미 명명 규칙을 따르는 경우

$.each(['id_1', 'id_2'], ... 

또한 프로그래밍 할 (예에게 다른 제안으로 Multiple Selector을 구축,하지만 당신은 10,000 문자 긴 선택을있는의 아이디어를 좋아하지 않는 경우, 수 등 'myid_1', 'myid_2', 'myid_10')로 나는이처럼 startsWith selector을 사용하는 것이 좋습니다 것입니다 :

$("[id^=myid]").hide(); // hide all elements with ID starting with 'myid' 
0

그냥 같이, .join()를 통해 multiple selector으로 바꿀 수 :

$('#'+[id_1, id_2].join(',#')).hide(); 

$('#someId1,#someId2').css({'display' : 'none'}); 

.hide() 세트 display: none하지만 방법으로 .show() 이전 값으로 복원됩니다 :

이것은 기본적으로 일을 할 것입니다. 다음과 같이

관련 문제