Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.02.2016, 15:05
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

добавление элементов списка
генерация списка циклом

<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, но как написать это в коде - никак не соображу
Ответить с цитированием
  #2 (permalink)  
Старый 10.02.2016, 16:11
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

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);
       }

Последний раз редактировалось Dilettante_Pro, 10.02.2016 в 16:30.
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2016, 10:21
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

как лаконично, а я уже успел нагородить костылей)) Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Hover для элементов списка с одинаковым номером Gera Herbst (X)HTML/CSS 2 21.12.2015 19:46
Изменение фона элементов списка по щелчку мыши_проблема! Boris777 Элементы интерфейса 1 06.12.2012 23:46
Динамическое добавление выпадающего списка В IE stepennwolf Internet Explorer 3 04.11.2011 17:36
Быстрый разбор списка элементов. B~Vladi Общие вопросы Javascript 31 14.07.2010 15:52
Выбор элементов и построение списка выбранных элементов. madgals Events/DOM/Window 6 14.04.2009 22:30