2010-01-08 32 views
7

Xin vui lòng xem HTML bên dưới. Tôi cố gắng để sử dụng jQuery để có được mọi trường hợp thứ 3 trên DIV với class="box" chứa trong DIV với class="entry" để có một biên độ không tay phải:Bộ chọn jQuery: nth-child()

HTML code của tôi:

<div class="entry"> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box I Want to remove right hand margin on this div --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box I Want to remove right hand margin on this div --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box --> 

    <div class="box"> 
     SOME HTML.... 
    </div><!-- end .box I Want to remove right hand margin on this div --> 

    </div> 
    <!--end entry--> 

nỗ lực của tôi với jQuery:

<script> 
     $(document).ready(function(){ 
      $("div.entry:nth-child(3)").css("margin", "0px"); 
     }); 
    </script> 

Tôi không thể làm việc này với bất kỳ ai có thể vui lòng trợ giúp? Cảm ơn trước!


nhờ tất cả những ai đã giúp giải pháp được cung cấp thực sự chính xác. Tôi đang mã hóa một mẫu được cung cấp và thấy rằng JQuery đã được thiết lập để chạy trong chế độ tương thích do đó $ là vấn đề.

+0

Tôi cũng gặp vấn đề tương tự. Tôi đã tạo một div vùng chứa, ".entry" trong trường hợp này và sử dụng công cụ chọn 'div.entry> div.box:nth-child (3)'. cảm ơn sự giúp đỡ –

Trả lời

11

Từ các tài liệu (tôi nhấn mạnh)

Matches tất cả các yếu tố đó là những thứ n-con của mẹ hoặc là chẵn hoặc lẻ trẻ em của cha mẹ.

Bạn đang chọn cha mẹ, trong khi bạn nên chọn con:

$("div.entry > div:nth-child(3)").css("margin", "0px"); 
+2

Cảm ơn sự giúp đỡ của bạn rất nhiều điều không may là không hoạt động. – mtwallet

3

Bộ chọn :nth-child của bạn không tham chiếu n và bạn cần tham khảo bên trong div trong bộ chọn của mình.

Hãy thử:

$(document).ready(function(){ 
    $("div.entry div:nth-child(3n)").css("margin", "0px"); 
}); 
+0

Cố gắng cảm ơn nhưng không có bất kỳ ý tưởng nào khác? – mtwallet

+1

Xin lỗi - chỉ phát hiện ra rằng bộ chọn của bạn cũng sai. Bạn vẫn cần '3n' thay vì chỉ' 3', nhưng bạn cũng cần đặt 'div' trước phần' nth-child'. Tôi đã thử nghiệm này và nó hoạt động. –

+0

Thiệt hại, bây giờ bạn đã sửa nó. ;-) – Gumbo

1

Hãy thử chọn này:

div.entry > div.box:nth-child(3n) 
+0

Một lần nữa cảm ơn sự giúp đỡ nhưng nó đã không làm việc – mtwallet

+0

@mtwallet: Vâng, nó làm việc cho tôi. – Gumbo

7

thứ n con cũng có vẻ là không được lập chỉ mục 0 . Hãy ghi nhớ điều đó nếu bạn đang sử dụng để lập chỉ mục tại 0.

+0

Thats thực sự hữu ích ... thnx! –