2012-06-04 4 views
6

와 선택 :의 jQuery 나는이 코드를 가지고 특정 속성

$('a').click(
    function() { 
     $("#change_flash").css("display", "block"); $("#my_flash").css("display", "none"); 
    }); 

하지만이 사람은 모든 앵커 요소에 대해 작동합니다. rel = "lightbox"속성을 포함하는 앵커 요소에 대해서만이 스크립트에 영향을주고 싶습니다.

어떻게하면됩니까?

+0

검색 http://stackoverflow.com/q/6246683/411902 밝혀 –

답변

4
$('a[rel="lightbox"]').click(
    function() { 
     $("#change_flash").css("display", "block"); $("#my_flash").css("display", "none"); 
    }); 
5

는 다음을 사용 :이 attribute="value" 표기법 (참고 문헌 참조) 사용

$('a[rel="lightbox"]').click(
    function(){ 
     // do your stuff here 
    }); 

.

있다, 또한, 다른 옵션 :

  • 속성 - 시작 -로 : attribute^="value",
  • 속성 - 끝 -와 : attribute$="value",
  • 속성이-포함 '속성 * = "값을" .

참고 물론, $('[rel="lightbox"]') 모두 그 자체로 절대적으로 올바른 선택을하는 동안,이 jQuery를이 결합하기 위하여 그 특성과 가치에 대한 페이지의 모든 요소를 검사하게됩니다 /를 click 이벤트를 할당 (에스); 따라서 일치하는 요소를 찾기 위해 jQuery가 검색해야하는 요소의 수를 제한하기 위해 항상 태그 이름을 사용하는 것이 가장 좋습니다. 따라서 $('a[rel="lightbox"]'), 또는을 클래스 이름으로 제한해야합니다.

비록 현대의 브라우저에서 Sizzle을 사용하는 대신이 '검색'이 기본 document.querySelectorAll()으로 넘겨졌지만 브라우저가 필요로하는 작업량을 제한하는 것이 가장 좋습니다.

참고 :

+0

빌어 먹을, 너무 쉽게 :) 고맙습니다 – David

+1

당신은 절대적으로 환영합니다을; 나는 도움이되어 기쁘다! =) –

관련 문제