Я пытаюсь создать плагин jquery
(function($){
$.fn.myPlugin= function(opt){
var defaults = {
num : '5';
};
return this.each(function(){
var opt = $.extend(defaults, opt);
var template=$('<span class="active">aaaa</span>');
});
};
})(jQuery);
Как я могу добавить шаблон num
число раз $(this)
. Есть ли способ, отличный от цикла, потому что я думаю, что работа для цикла для каждого элемента, на котором применяется плагин, создаст проблему и перегрузит страницу. Поправьте меня если я ошибаюсь..
Немногие изменения
this.each()
чтобы цикл выполнялся один раз для инициализации плагина (это $('div').myplugin()
будет выполнять цикл только один раз)each
цикле добавьте конусную копию шаблонаЧто-то вроде этого
(function ($) {
var defaults = {
num: 5
};
var template = '<span class="active">aaaa</span>';
$.fn.myPlugin = function (opt) {
var opt = $.extend(defaults, opt),
array = [],
$tmpl;
for (var i = 0; i < opt.num; i++) {
array.push(template);
}
$tmpl = $(array.join(''));
return this.each(function () {
$(this).append($tmpl.clone())
});
};
})(jQuery);
Демо: скрипка