Я просто поигрался с программированием расширений Firefox, и я столкнулся с вопросом.Допустим, я хочу создать своего рода сетку, каждая строка состоит из множества элементов.Если я хочу динамически добавить x строк на панель, я предполагаю, что мне нужно сделать это следующим образом:
for(var i=0; i<x; i++) {
tempButton = document.createElement("button");
tempLabel = document.createElement("label");
tempWhatever = document.createElement("button");
...
tempButton.setAttribute("label", "YippeYeah");
...
container.appendChild(tempButton);
container.appendChild(tempLabel);
container.appendChild(tempWhatever);
}
Разве это не немного болезненно?Подумываете о вложенных vbox, hbox, styles, ... для форматирования всех элементов, чтобы получить хороший макет?
Можно ли создать определяемый пользователем объект .js, который состоит из информации об элементе для кнопки?, этикетка и все остальное;затем свяжите файл "template" - .xul для повторного использования с каждой строкой сетки и сделайте только
for(var i=0; i<x; i++) {
container.appendChild(myObjArray[i]);
}
, чтобы построить сетку менее болезненно.
Имеет ли это смысл или я ошибаюсь?С уважением, Алекс