2009-11-15 4 views
10

봐 설정이 가입 ...병합/jQuery를 예를 들어이 코드에서

var $div = $('#my div'), 

    $ul = $('#somewhere ul'); 

어떻게 둘 다에의 jQuery 방법을 수행 할 수 있습니까? 예를 들어, 이것이 효과가 있습니까? 가장 좋은 방법은 무엇입니까?

$($div, $ul).addClass('my-new-class'); 

않을까요 $ul의 컨텍스트에서 해당 검색 $div?

+0

addClass ('my-new-class');'$ div.add ($ ul) .addClass ('my-new-class ');' – Sinan

+1

혼자가 아니에요 볼 이제 다른 일 같은 일을 생각 것

$().add($div).add($ul).addClass('my-new-class'); 
ChaseMoskal

답변

19

jQuery를이의 add 방법을 제공하려고합니다. 가장 일반적인 경우 (add에 전달) 지정된 선택 일치하는 jQuery를 세트에 더 많은 요소를 추가하는 것입니다,하지만 당신은 너무 standard union 두 세트를 수행하는 데 사용할 수 있습니다 :

$c = $a.add($b).addClass('foo') 

add가 랩 된 새로운를 반환 집합과 this의 병합되고 고유 한 조합과 주어진 집합이 포함 된 집합입니다. $b은 변경되지 않습니다.

+0

감사합니다! 그 대답은 그곳에 숨어 있다는 것을 알았습니다 ... – alex

+0

'$ a'도 변함이 없습니까? –

+0

'$ a'는 변경되지 않습니다. (이것은 오래된 스레드입니다 - 현재 jQuery 3.2.1을 사용하고 있습니다.) –

-2

$('#my div, #somewhere ul').addClass('my-new-class'); 

보기 here

+0

그게 효과가있을 거라는 걸 알고 있지만 때로는 스크립트의 시작 부분에 2 개의 캐시를 설정하고 나중에 메서드 등에서 다시 정의하는 것을 피하고 싶습니다. – alex

3

나는 이것이 매우 늦게 매우 알지만, 당신은 또한 다음을 수행 할 수

예는, 나 또한 내가 :)
+0

첫 번째 빈칸이 비어있는 이유는 무엇입니까? – alex

+2

'$ div.add ($ ul) ... '이 더 의미가 있습니다 ... 이미 기존 답변에 어떤 가치가 추가되는지는 알 수 없습니다. –

+3

@FelixKling 한 줄에 많지는 않습니다. 하지만 그 뒤에있는 개념을 사용하고 있습니다 :'var initted = $();'... 나중에 하나의 조건 하에서'initted.add ($ foo)'... 나중에, 다른 (상호 배타적이지 않은) 조건 하에서 ,'initted.add ($ foo)'... 등등. [빈 세트] (http://en.wikipedia.org/wiki/Empty_set)로 시작할 수 있다는 것은 가치있는 것입니다. – Izkata

관련 문제