Чего я не понимаю в .each() ?
$(this.el).find("section.screen").each(function(){ var $this = $(this) … if($this.is("#control")) newHeight -= 60 $this.height(newHeight) }) здесь перебираются все элементы, удовлетворяющие селектору "section.screen", и им всем задаётся хитро рассчитанная высота. По задумке нужно одному из этих элементов ("#control") высоту уменьшить на 60px, что я пытаюсь сделать строкой if($this.is("#control")) newHeight -= 60. Происходит не то, что я ожидаю. высота уменьшается на 60px у всех элементов, хотя id="control" определённо только у одного. Чего я недопонимаю в принципах работы этой конструкции? |
$(this.el).find("section.screen").each(function(){ if($(this).attr("id")=='control') { $(this).height($(this).height()-60); return false; } }) |
Deff, зачем?
Ведь return false прервёт цикл, а это не нужно. |
$(this.el).find("section.screen#control").height(newHeight); |
Квери "знаю" слабо, но почему бы это
$(this.el).find("section.screen") не заменить на это $( "section.screen", this.el ).each( function( index, elem ) { где elem - элемент из набора. p.s.: а, вообще, devote, постом выше прав :) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 17:14. |