добавление элементов списка
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, время: 19:16. |