2012-01-17 2 views
5

Я пытаюсь выяснить, как работает этот плагин JQuery: http://codeasily.com/jquery/multi-column-list-with-jqueryчто это значит: «JQuery („> LI“, это)»

В плагине есть эта линия в начале:

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

Я знаю, что

ul > li 

означает: это значит выбрать все Ли, чей прямой родитель является ул. Но что означает «li»? Я побежал:

$('> li') 

но он возвращает

[] 

, даже если у меня есть много вложенного неупорядоченный список HTML на странице.

ответ

6

Не используйте его. Документы сообщают, что вы не должны использовать их, поскольку это будет скоро устаревать.

От http://api.jquery.com/child-selector/

Примечание: Селектор $("> elem", context) устареет в будущем выпуске. Его использование, таким образом, обескураживается вместо использования альтернативных селекторов.


Но чтобы ответить, он эффективно использует элемент (ы), из которого селектор называется как левый операнд ребенок-селектор.

+3

множество правильных ответов здесь, но я выбрал этот вариант, потому что дополнительным советом по устареванию был тай-брейк. – Homan

1

его jsut как ul > li, за исключением того, что в этом случае вы заменяете часть ul текущим контекстом, который является this. Так что любой this находится в области этого вызова, который является элементом, который вы разрешаете > li.

Так, например:

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


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

// list is the same as list2 
3

Это так же, как $(this).children('li'). Это в основном говорит: «Используйте this в качестве контекста для селектора (> li)».

1

Он будет искать li элемент для непосредственных детей в пределах this элемент, где this может быть объектом jQuery или элементом DOM.

5

Второй параметр функции jQuery - это контекст.

jQuery('> li', this) 

То же самое, как:

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

Селектор ищет каких-либо непосредственных <li> детей в контексте this DOM элемента