Помогите мне понять эту строчку из jQuery - PullRequest
1 голос
/ 10 сентября 2010
var div = $(this), ul = $("ul", div), li = $("li", ul);

Пожалуйста, объясните, что делает этот код?

По шагам.

Спасибо.

1 Ответ

10 голосов
/ 10 сентября 2010

В итоге получаются следующие эквиваленты:

var div = $(this);
var ul = $(this).find("ul");
var li = $(this).find("ul").find("li");

Таким образом, он получает текущие <div>, любые <ul> элементы внутри него и любые <li> элементы внутри них и помещает каждую коллекцию вего собственная переменная.

Когда вы делаете $(selector, content) , вы на самом деле делаете $(context).find(selector) под прикрытием, поэтому код в вашем вопросе просто приковывает цепью один вызов к другому, эффективноделая .find() внутри каждый раз.

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