jQuery .append () вызывается из цикла for.(Вопрос закрытия?) - PullRequest
0 голосов
/ 04 марта 2011

У меня есть догадка, это может быть связано с закрытием (или его отсутствием).

Вот jQuery, который я использую:

function appendToWrapper(wrapper, newNode, loop, version){
  newNode
     .text(loop+version);
  wrapper
    .append(newNode); 
}

var template = $("<div></div>");

for(i=0;i<10;i++){
   appendToWrapper($('#wrapper'), template, i, 'a');
   appendToWrapper($('#wrapper'), template, i, 'b');
}

То, что я хочу произвести, - это вывод, который выглядит следующим образом:

0a
0b
1a
1b
2a
...
9b

Но это то, чем я заканчиваю;

9b

Я думаю, что это проблема закрытия, верно? Любые намеки на направление идти, чтобы исправить это? (Я все еще пытаюсь обернуть голову вокруг укупорки).

1 Ответ

3 голосов
/ 04 марта 2011

Вам нужно создать div для каждой итерации.Измените свой код следующим образом:

function appendToWrapper(wrapper, newNode, loop, version){
  newNode
     .text(loop+version);
  wrapper
    .append(newNode); 
}

for(i=0;i<10;i++){
   var template = $("<div></div>");
   appendToWrapper($('#wrapper'), template, i, 'a');
   appendToWrapper($('#wrapper'), template, i, 'b');
}

Рабочий пример @: http://jsfiddle.net/eMxBV/

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