Если вы не можете использовать технологию со стороны стороны или что-то, что компилируется в html как Haml, и вы хотите использовать javascript и html ... с небольшой помощью jquery, чтобы не изобретать колесо ....
Одним из решений было бы скрыть html, который вы используете в качестве шаблона. Затем, используя jquery (или другую библиотеку или ванильный javascript), возьмите его как строку, замените, а затем вставьте полученную строку как html в dom.
Вот краткий пример с тремя итерациями. Вам нужно будет заполнить конкретные данные каждого повторения. Я использую список объектов, как данные.
Если бы я был вами, я бы использовал библиотеку, такую как Knockout, Angular или Mustache.
// Data of each iteration
var data = [
{name: 'Pikachu', dex: 'pikachuDex', typeA: 'pikachuA', typeB: 'pikachuB'},
{name: 'Charmander', dex: 'charmanderDex', typeA: 'charmanderA', typeB: 'charmanderB'},
{name: 'Ratata', dex: 'ratataDex', typeA: 'ratataA', typeB: 'ratataB'}
];
// Get the template
var template = $(".pokeFloat").html();
// Iterate over data, customize template, append to html
for(var i = 0; i < data.length; i++) {
var str = template.replace(/typeA/gi, data[i].typeA);
str = str.replace(/typeB/gi, data[i].typeB);
str = str.replace(/pokemonName/gi, data[i].name);
str = str.replace(/pokeDex/gi, data[i].dex);
$("#list_of_pokemones").append(str)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pokeFloat" style="display: none">
<div class="pokeDec">
<p>
<img class="pokeImg" src="./img/pokeDex#.jpg" />
<br>
<small>PokeDex#</small>
<br>pokemonName
<br>
<span class="typeA">TypeA</span class="TypeA"> - <span class="TypeB">TypeB</span class="TypeB">
\t </p>
</div>
</div>
<div id="list_of_pokemones">
</div>
Пожалуйста, обратите внимание, что я спрятал шаблон, используя display: none
, и добавил новый div
в качестве заполнителя для динамически генерируемого HTML.
Это не лучшее решение, но должно дать вам представление о том, как это сделать.
** P.S.: ** У вас есть ошибка в вашем коде: закрывающий тег (например, '') не может иметь никаких атрибутов! –
Используете ли вы какие-либо JS-рамки? –
Вы говорите, что в настоящее время вы копируете, вставляете, а затем меняете этот код вручную? Что вы ищете способ сэкономить время при выполнении этой (одноразовой?) Задачи? – Makyen