2013-03-13 4 views
1

마지막 자식에 특정 클래스가있는 경우 요소 그룹의 마지막 자식 CSS를 변경하려고합니다. 예를각 요소의 마지막 자식 찾기

나는 단지 그것을 마지막 자식이기 때문에 항목의 두 번째 블록의 클래스 "divider"의 CSS를 변경하려면
<div class="box"> 
<div class="entry"></div> 
<div class="entry"></div> 
<div class="divider"></div> 
<div class="entry"></div> 
<div class="entry"></div> 
</div> 

<div class="box"> 
<div class="entry"></div> 
<div class="entry"></div> 
<div class="entry"></div> 
<div class="entry"></div> 
<div class="divider"></div> 
</div> 

<div class="box"> 
<div class="entry"></div> 
<div class="entry"></div> 
<div class="divider"></div> 
<div class="entry"></div> 
<div class="entry"></div> 
</div> 

를 들어

. 이것이 내가 지금까지 얻은 것입니다. 이 작업을하는 것처럼 보이지만 그렇지 않은 아아 :

$('.divider:last-child').css('border-top-color','green') 
+1

'calendarEntryDivider'클래스를 찾고 있지만 해당 div를 가진 div가 없습니다. 가능한 오타가 있습니까? 'calendarEntryDivider'를 'divider'로 바꾸고 싶다고 가정합니다. –

+0

예. 고쳤다. 감사합니다 –

답변

3

당신이 바로이 필요한 것 :

$('.divider:last-child').css(...); 

IE가 CSS를 변경을

$(".entry").each(function() { 
    if($(this).is('last-child')) { 
    if($(this).hasClass("divider")) { 
      $(this).css("border-top-color", "green"); 
    } 
    } 
}); 
+0

hehe, 동일한 코드, 동일한 타이밍! – Dave

+0

@Dave 그래,하지만 내 설명은 더 좋다 ;-) – Alnitak

+0

awww :(사실 ... – Dave

2

는 그냥 :last-child 선택기를 사용 모든 .divider의 부모 중 last-child입니다.

.css 기능이 일치하는 각 요소에 대해 암묵적으로 작동하기 때문에 .each이 필요하지 않습니다.

1

마지막 자식 선택기에 콜론이 누락되었다고 생각하면 :last-child으로 변경하십시오.

+0

이것은 대답이 아닌 주석이어야합니다. – Alnitak

+0

코드의 문제를 가리 킵니다. 그 이유는 대답으로 말하면 – andri

+0

입니다. 답을 변경하기 전에 쓴 것입니다. 누락 된 _semi_colon은 JS에서 치명적인 버그입니다. – Alnitak

관련 문제