2010-04-18 2 views
5

의 첫 번째 단락에 클래스를 추가하기 위해 jQuery를 사용하고 있습니다. div가 ".djBio"클래스입니다. 내 문제 그것은 그 클래스와 함께 모두 div가 아닌 첫 번째 div.djBio에만 클래스를 추가한다는 것입니다. 여기에 코드가 있습니다. 나는 또한 (모든, 또한 첫 번째 div.djBio에 적용되는) 첫 번째 단락에있는 드롭 캡을 추가하는 멋진 편지 jQuery 플러그인을 사용하고JQuery/CSS - addClass 처음으로 : 지정한 클래스가있는 여러 div의 p

jQuery(function($){ 
    $('.servicesContent p:first, .about-usContent p:first, .djBio p:first').fancyletter().addClass('firstP'); 
}); 
당신의 도움을 너무 많이

감사합니다!

답변

9

누군가가 어느 지점에서 넘어 졌다고 우연히 만났습니다. :first은 (처음에는) 당신이 생각하는 것을 의미하지 않습니다. :first은 하나의 요소 만 반환합니다 (최대로)입니다. 내가 문제를 일을 생각할 수있는 가장 좋은 방법은 each()을 사용하고 있습니다 :

$(function() { 
    $(".servicesContent, .about-usContent, .djBio").each(function() { 
    $(this).find("p:first").addClass("..."); 
    }); 
}); 
+0

정말 멋지다. –

2

첫 번째 P 태그의 모든 클래스를 추가하려면이 같은 코드를 다시 작성할 수 있습니다 :

$('.servicesContent, .about-usContent, .djBio').each(function() { 
    $(this).find('p:first').fancyletter().addClass('firstP'); 
}); 

문제와를 귀하의 코드는 지정된 클래스가있는 요소 내에있는 ap 태그의 첫 번째 인스턴스 만 찾습니다.

0

발견 한대로 :first selector은 적용한 선택 도구의 첫 번째 요소와 일치하며 하나의 요소 만 반환합니다 (최대).

부모의 첫 번째 하위 요소 인 일치하는 :first-child selector을 사용해야합니다. (첫 번째 p 앞에 다른 요소가있는 경우에도 여전히 작동하지 않습니다.)

+0

무엇을 의미합니까? – SLaks

+0

나는 그것을 깨닫는다. 그것은 제가 두 번째 단락에서 괄호로 묶어 놓은 것을 의미합니다. – SLaks