2012-01-17 33 views
5

Tôi đang cố gắng để tìm ra cách jQuery plugin này hoạt động: http://codeasily.com/jquery/multi-column-list-with-jquerynhững gì hiện này có nghĩa là: "jQuery ('> li', điều này)"

Trong các plugin có dòng này ngay từ đầu:

if(jQuery('> li', this)) { 

tôi biết những gì

ul > li 

có nghĩa là: nó có nghĩa là chọn tất cả các li mà cha mẹ trực tiếp là một ul. Nhưng '> li' có nghĩa là gì? Tôi chạy:

$('> li') 

nhưng nó sẽ trả về

[] 

mặc dù tôi có rất nhiều lồng danh sách không có thứ tự HTML trên trang.

Trả lời

6

Đừng sử dụng nó. Các tài liệu khuyên bạn không nên sử dụng vì tài liệu sẽ sớm bị ngừng sử dụng.

Từ http://api.jquery.com/child-selector/

Lưu ý: Bộ chọn $("> elem", context) sẽ bị phản đối trong một thông cáo trong tương lai. Do đó, việc sử dụng nó không được khuyến khích thay cho việc sử dụng các bộ chọn thay thế.


Nhưng để trả lời, nó có hiệu quả sử dụng các yếu tố (s) từ đó chọn được gọi là toán hạng trái của trẻ em selector.

+3

nhiều câu trả lời đúng ở đây, nhưng tôi đã chọn câu trả lời này vì mẹo không dùng nữa là bộ ngắt kết nối. – Homan

1

jsut của nó như ul > li ngoại trừ trường hợp này bạn đang thay thế ul một phần với ngữ cảnh hiện tại là this. Vì vậy, bất cứ điều gì this nằm trong phạm vi của cuộc gọi đó là phần tử bạn đang giải quyết > li.

Vì vậy, ví dụ:

var ele = $('ul#someId'); 
var list = $('> li', ele); 


var list2 = $('ul#someId > li'); 

// list is the same as list2 
3

Nó giống như $(this).children('li'). Về cơ bản nó nói "sử dụng this làm ngữ cảnh cho bộ chọn (> li)".

1

Nó sẽ tìm kiếm phần tử li ở trẻ em ngay lập tức trong phạm vi this yếu tố trong đó this có thể là đối tượng jQuery hoặc phần tử DOM.

5

Tham số thứ 2 cho hàm jQuery là ngữ cảnh.

jQuery('> li', this) 

là giống như:

jQuery(this).find('> li') 
1

Các selector đang tìm kiếm bất kỳ <li> trẻ em ngay trong bối cảnh của phần tử DOM this

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