01/10/2018, 14:15

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.

ATuan viết 16:25 ngày 01/10/2018

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

viết 16:19 ngày 01/10/2018

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
Ăn cắp code của bạn @ATT và viết lại trên jsfiddle https://jsfiddle.net/dm0g1ksL/2/

Thinh Minh Ha viết 16:24 ngày 01/10/2018

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

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

Thinh Minh Ha viết 16:26 ngày 01/10/2018

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

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 ạ

giang viết 16:17 ngày 01/10/2018

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

Bài liên quan
0