добавление элементов списка
http://javascript.ru/forum/dom-windo...ka-ciklom.html
<div id="wrap">
<ul>
<li></li>
<li></li>
</ul>
</div>
<button class="button" onClick="addData()">Добавить</button>
function addData(){ //добавление столбцов
var ulCount=document.getElementById('wrap').getElementsByTagName('ul').length; //количество ul (столбцов)
var liCount=document.getElementById('wrap').getElementsByTagName('li').length/ulCount; //количество ячеек в одном столбце (ужас)
document.getElementById('wrap');
for (var i=0; i<1; i++) {
var ul = document.createElement("ul");
wrap.appendChild(ul);
for (var k=0; k<liCount; k++) {
var li = document.createElement("li");
ul.appendChild(li);
}
}
wrap.appendChild(ul);
}
Добавлять столбцы у меня получается, а со строками не вышло
function addRows() {
var ulCount=document.getElementById('wrap').getElementsByTagName('ul').length; //количество ul (столбцов)
var liCount=document.getElementById('wrap').getElementsByTagName('li').length/ulCount;
document.getElementById('wrap');
for (var i=0; i<ulCount; i++) {
var ul = document.createElement("ul");
wrap.appendChild(ul);
for (var k=0; k<1; k++) {
var li = document.createElement("li");
ul.appendChild(li);
}
}
wrap.appendChild(ul);
}
я понимаю, что проблема в том, что в 7 строке происходит присоединение ul ко wrap, в то время как я должен присоединить каждый следующий новый li к каждому следующему существующему ul, но как написать это в коде - никак не соображу |
innowed,
Вы, оказывается, завели новую тему, а в старой задали непонятный вопрос и бросили. Не надо никаких Count - надо сформировать массив существующих ul и добавлять li во все ul или в любой - на выбор, например, во второй (естественно, если он существует - проверку я не стал прописывать)
var uls = document.getElementById('wrap').querySelectorAll('ul');
var newli = document.createElement("li");
li.innerText = "NewLi";
uls[1].appendChild(li);
или для всех
var uls = document.getElementById('wrap').querySelectorAll('ul');
var li;
for (var i = 0; i < uls.length; i++) {
li = document.createElement("li");
li.innerText = "NewLi";
uls[i].appendChild(li);
}
|
как лаконично, а я уже успел нагородить костылей)) Спасибо
|
| Часовой пояс GMT +3, время: 13:17. |