Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Добавить в набор новые элементы (https://javascript.ru/forum/jquery/31143-dobavit-v-nabor-novye-ehlementy.html)

a22432 28.08.2012 13:41

Добавить в набор новые элементы
 
Суть скрипта: На примере вроде понятно, но всё равно опишу суть...
скрипт делает из списка ссылок кнопки по 6 штук в ряд и оборачивает эти 6 элементов в блок для вывода этого всего в виде таблицы, но при этом если в конце не хватает какого-то количества элементов, то он их создаёт и добавляет в конец, чтобы в конце тоже было 6 элементов. Без них последние элементы растягиваются на всю таблицу, что не есть хорошо :(

Что не получается сделать: не получается созданные элементы добавить в конец набора, и затем над ними всеми произвести остальные действия.

Вот ещё раз ссылка

Вот код:
$.fn.entourage = function(options){
	var chooseIn = 0;
	
	// настройки по умолчанию, где container это контейнер, с количеством элементов которые нужно обернуть
	var options = $.extend({ container:6 }, options);
	
	//узнаём сколько нужно добавить пустых блоков, в нашем случае LI в конце
	var data = this.length - ( Math.floor( this.length / options.container ) * options.container );
	
	//создали нужное колличество пустых элементов
	var dummy = this.slice(0,data).clone().html('q');
	

	//проблема здесь, в следующей строке повидемому.............
	var newThis = this.last().after(dummy).end();
	
	console.log( newThis );
	
	
	
	var _this = newThis;
	
	
	return newThis.each(function(i,e) {
		chooseIn++;
		$(e).addClass('litr');
		if( chooseIn == options.container || !i ){
			_this.slice(i, i+options.container).wrapAll("<div class='blok'></div>");
			chooseIn = 0;
		}
		
	});
}

a22432 28.08.2012 14:34

Добавить в набор новые элементы
 
Всё разобрался в проблеме, всё как всегда было просто и бонально, нужно было не помощью after а с помощью append добавлять элементы и плюс обход делать по новому набору :victory:


Часовой пояс GMT +3, время: 05:33.