var div = $(this), ul = $("ul", div), li = $("li", ul);
Пожалуйста, объясните, что делает этот код?Помогите мне разобраться в этой одной строке jQuery
С шагами.
Спасибо.
var div = $(this), ul = $("ul", div), li = $("li", ul);
Пожалуйста, объясните, что делает этот код?Помогите мне разобраться в этой одной строке jQuery
С шагами.
Спасибо.
Она заканчивается с этими эквивалентами:
var div = $(this);
var ul = $(this).find("ul");
var li = $(this).find("ul").find("li");
Так это получение текущей <div>
, любые <ul>
элементов внутри него, а также любые <li>
элементов внутри них, и помещая каждую коллекцию в своем собственных переменном.
Когда вы $(selector, content)
you're actually doing$(context).find(selector)
под одеялом, так что код в ваш вопрос просто цепочки один вызов к другому, эффективно делать .find()
внутри каждый раз.
+1 для удобного для чтения и точного объяснения. Является ли это просто мной, или является глупым '$ (селектором, контентом)' способом выбора элементов боль в заднице для чтения? Что не так с 'find'? – karim79
@ karim79 - не только вы, это, кажется, противоречит всему беглому/цепному стилю библиотеки, полностью назад imo ... не говоря уже о менее эффективном. –