2012-02-19 4 views
0

동일한 기능의 다른 변형을 가진 요소 하나에 영향을 미치려고합니다. id, class 및 a를 사용했지만,이 작업을 수행하는 데는 실제로보기 흉한 방법 인 것 같아 결국 선택 자의 한계에 도달합니다. 내 코드는 아래에 있으며, 페이지의 한 요소에 영향을 줄 수있는 제한된 수의 방법으로이를 구현하는 좀 더 우아한 방법을 원합니다.하나의 요소에 대해 jquery 다중 선택 자

편집 : 아래는 코드의 선택기 부분입니다. 요소에는 하나 이상의 ID 또는 클래스가있을 수 없으므로 같은 요소를 참조하는 10 가지 별도의 방법을 추가하면 어떻게 될까요? 그래서 동시에 10 가지 다른 작업을 수행 할 수 있습니까?

  <script> 
      $(document).ready(function() 
        { 

      $('a[title]').qtip({ (...) 
}); 


      $('#tooltip2').qtip({ (...) 
}); 

      $('.myclass').qtip({ (...) 
}); 
+0

항상 같은 요소에 여러 클래스를 사용할 수 있습니다. – Bojangles

+0

단축하고 a? – rd42

답변

3

당신은 그냥 같은 선택 할 때마다 ...

$('#tooltip2') 

다른 선택이 요소에 다른 무언가를 할 때마다 사용해야 할 이유가 없습니다를 사용합니다. 선택기는 DOM에서 원하는 요소를 식별하는 방법 일뿐입니다.


질문을 업데이트했습니다. 원래의 질문에서 사용 된 각 선택자는 동일한 요소를 참조했습니다.

추가 한

...

보다 더 많은 수의 요소를 '요소는 ... 더 이상의 ID 또는 클래스를 가질 수 없습니다 " 하나의 클래스.

는 "이 ... 그래서 어떻게 ... 같은 요소를 참조하는 10 개 별도의 방법을 추가 할 것"

같은 요소를 선택하는 여러 가지 방법을 가지고 당신은 필요가 없습니다

, 실제로 동일한 요소를 선택하는 경우

당신이 정말 당신이 그것에 무엇과 거의가 선택하는 방법

"... 그래서 나는 동시에 그것으로 10 개의 서로 다른 일을 할 수 있습니다." 10 명의 사람들이 당신과 이야기하기를 원한다면, 그들 각각이 당신에게 다른 이름으로 전화해야합니까? 선택자는 단순히 의 수단으로 타겟팅하는 요소 인을 지정합니다.


여러 가지 방법으로이 작업을해야하는 경우

, 그것은

var tt2 = $('#tooltip2'); 

tt2.qtip(...); 

tt2.qtip(...); 

tt2.qtip(...); 

이것은 DOM 선택이 있습니다 때문에 ... 그것을 한 번 을 선택하고 선택을 캐시하는 것이 가장 좋습니다 상당히 비싼 조작. 불필요 할 때는 반복하지 않는 것이 가장 좋습니다.

+0

그런 생각은 한번도 해본 적이 없다. – rd42

+0

나는 훌륭한 대답이다.나는 복잡성을 예상하고 있었고 명백한 것을 생각하지 않았습니다. 고맙습니다! 6 분 안에 수표를 확인해 보겠습니다. – rd42

+0

@ rd42 : 천만에. –

관련 문제