РЕДАКТИРОВАТЬ Я попробовал оба приведенных ниже предложения, но он все еще не работает ... Он клонирует, но не увеличивает ...
функция createNewSection () {
var cloneUp = $('.section-form').length;
var cloneCount = $('.section-form').length - 1;
var newSection = $('#section-0').clone(function() {
$(this).find('*').each(function() {
$(this).attr('id', $('#section-0').attr('id').replace(/section-0/,'section-'+cloneUp).replace(/section[_\[]0\]?/,'section_'+cloneUp));
$(this).attr('name', $('#section-0').attr('replace').replace(/section-0/,'section-'+cloneUp).replace(/section[_\[]0\]?/,'section_'+cloneUp));
});
});
$('#sections').append(newSection);
}
Я пытаюсь заменить все экземпляры определенной строки и пробовал несколько способов сделать это, но чаще всего я получаю сообщение об ошибке, заменяющее isn'функция, $ (this) не определена или отсутствует: после аргумента ...
Например, в следующем HTML-коде:
<div id="section-1-add">
<div id="section-1">
<span class="section_1-span">Title</span>
<input name="section[1][item][62]" id="section-1-item-1" value="Enter Section 1 / Item 1" />
</div>
</div>
Я хочу заменить все экземпляры:
section-1 with section-2
section_1 with section_2
section[1] with section_2
Я пробовал много вариантов, по сути, одного и того же, но вот последняя попытка:
function createNewSection() {
var cloneUp = 2; //this is currently hardcoded, but will be dynamic... just for this example
var newSection = $('#section-1-add').clone(function() {
$(this).find('*').each(function() {
$(this).id=$(this).id.replace(/section-1/,'section-'+cloneUp).replace(/section[_\[]1\]?/,'section_'+cloneUp);
$(this).name=$(this).name.replace(/section-1/,'section-'+cloneUp).replace(/section[_\[]1\]?/,'section_'+cloneUp);
});
});
$('#sections').append(newSection);
}
В приведенном выше коде раздел клонирован, нони один из идентификаторов или имен не меняется ...