2012-02-10 34 views
82

Tôi đang tìm một bộ chọn css cho phép tôi chọn con trước của danh sách.CSS cuối cùng con (-1)

<ul> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
    <li>5</li> <!-- select the pre last item dynamically no matter how long this list is --> 
    <li>6</li> 
</ul> 

phương pháp tĩnh:

ul li:nth-child(5) 

động phương pháp:

ul li:last-child(-1) 

trong đó tất nhiên không xác nhận, cũng thứ n-cuối con dường như không cung cấp một cách năng động .. Tôi có thể dự phòng javascript nhưng tôi tự hỏi nếu có một cách css tôi bỏ qua

+7

Nó thường được gọi là "cuối cùng thứ hai". Ngoài ra còn có một từ ưa thích cho nó: "áp chót". – BoltClock

+1

@BoltClock Tôi yêu từ "áp chót". Tôi sẽ sử dụng nó trong một bản cập nhật Facebook đáng sợ, bây giờ. –

+0

Bản sao có thể có của [Chọn phần tử cuối cùng thứ hai với css] (http://stackoverflow.com/questions/5418744/select-second-last-element-with-css) –

Trả lời

167

Bạn có thể sử dụng :nth-last-child(); trên thực tế, bên cạnh :nth-last-of-type() Tôi không biết những gì khác bạn có thể sử dụng. Tôi không chắc chắn ý bạn là gì bởi "năng động", nhưng nếu bạn muốn nói liệu phong cách có áp dụng cho đứa trẻ thứ hai mới khi nhiều trẻ em được thêm vào danh sách hay không, đúng vậy. Interactive fiddle.

ul li:nth-last-child(2) 
+0

Được rồi! Người giải thích mã (jsfiddle) đã không xác nhận nó .. Đoán một lỗi về phía họ! thanks –

+0

Không hỗ trợ IE7 và IE8 –

+4

@ David Allen: Tôi không nghĩ anh ấy quan tâm nếu anh ấy đã cố gắng sử dụng ': nth-child (5)' và ': last-child'. Các nhận xét như thế này hoặc là nên tiếp tục câu hỏi hoặc được giữ cho bản thân. – BoltClock

1

Trừ khi bạn có thể lấy PHP để gắn nhãn thành phần đó với lớp học, bạn nên sử dụng jQuery.

jQuery(document).ready(function() { 
    $count = jQuery("ul li").size() - 1; 
    alert($count); 
    jQuery("ul li:nth-child("+$count+")").css("color","red"); 
}); 
+3

Thật là khó chịu khi jQuery không thực thi ': nth-last-child()' chỉ vì [John cho rằng không ai sử dụng nó] (http://ejohn.org/blog/selectors-that-people-actually-use) . – BoltClock

+0

Tôi thích nhãn với python ;-) ontopic: Vâng css có vẻ tốt theo cách này, có thể jsfiddle cũng nghĩ rằng không ai sử dụng nó :-) –

+0

@ArgsKwargs: Lạ tại sao nó không hoạt động trong jsFiddle. Trình duyệt giải thích nó; nó không có công cụ CSS riêng. – BoltClock

Các vấn đề liên quan