Если у вас уже есть хороший шаблон HTML, проще всего использовать регулярное выражение для преобразования идентификаторов шаблона в уникальные идентификаторы, вставить шаблон HTML в нужное место в документе и проверить сценарии. Функция прототипа Element.insert
выполняет всю работу по внедрению html и оценке скриптов для вас.
Допустим, у вас есть шаблон в скрытом элементе с именем ingredient_template
, и вы отмечаете все места, где вам нужен уникальный идентификатор, с помощью XXX
:
<div id="ingredient_template" style="display:none;">
<fieldset id="ingredient_item_XXX">
Ingredient <input id="ingredient_XXX" type="text" size="20" />
<div id="ingredient_list_XXX" style="" class="autocomplete"></div>
...
</fieldset>
</div>
И скажем, вы хотите добавить его к элементу ingredients_list
:
<div id="ingredients_list"></div>
<button type="button" onclick="addIngredient()">Add Ingredient</button>
Вы можете использовать эту функцию javascript для поиска шаблона, заменить XXX
s на следующий номер ингредиента и вставить его в ingredients_list
:
var ingredientCount = 0;
function addIngredient() {
var html = $("ingredient_template").innerHTML.replace(/XXX/g, ingredientCount++);
$("ingredients_list").insert(html);
}