Select element in multiple parent

Mình muốn select đến thẻ <li> có chỉ số eq (2) để thêm class cho nó, nhưng kết quả chỉ áp dụng được với list đầu tiên còn với list thứ 2 thì không áp dụng được.

https://jsfiddle.net/dm0g1ksL/

Mọi người có cách nào không xin chỉ giúp mình với.

bạn thử dùng :nth-child() xem

1 Like

Cái bạn đang dùng là tìm thẻ li thứ 2, trong code của bạn có khoảng 7,8 cái li nên code chạy đúng, chỉ là bạn hiểu sai thôi :smiley:
Ăn cắp code của bạn @ATT và viết lại trên jsfiddle https://jsfiddle.net/dm0g1ksL/2/

1 Like

Vâng, đúng là có 8 thẻ <li> nhưng nó lại nằm trong 2 danh sách <ul> khác nhau mà nhỉ, chứ có phải 8 thẻ <li> viết liền nhau đâu ? mà sao nó lại hiểu vậy nhỉ ?

Vậy là không có cách nào viết gọn hơn được mà bắt buộc phải viết $("li:eq(2), li:eq(6)") thế sao bạn.
Như trong ví dụ mình đưa chỉ có 2 danh sách <ul> nhưng nếu trường hợp mà mình có rất nhiều danh sách <ul> thì phải làm sao ạ ?

Không lẽ cũng phải viết như thế sao ? Hay là phải dùng đến vòng lặp

Cám ơn bạn, cách này đã giải quyết được ví dụ ở trên rồi. Nhưng mà nếu mình muốn chọn rộng hơn thì sao hả bạn. Ví dụ mình muốn chọn từ thẻ <li> thứ hai đến thẻ <li> thứ ba trong 2 danh sách thì sao ạ

Xài đỡ cái này coi sao : $("ul li:nth-child(n+2):nth-child(-n+3)").addClass("highlight")

Giờ này chắc mấy ổng đi xem bóng cả rồi :soccer: :trophy:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?