Держите разметку отдельно от кода:
Вы можете встроить фрагменты HTML, которые будете использовать в качестве скрытых шаблонов, в свою HTML-страницу и клонировать их по запросу:
<style type="text/css">
#templates { display: none }
</style>
...
<script type="text/javascript">
var node = document.getElementById("tmp_audio").cloneNode(true);
node.id = ""; // Don't forget :)
// modify node contents with DOM manipulation
container.appendChild(node);
</script>
...
<div id="templates">
<div id="tmp_audio">
<a href="#" class="playButton">Play</a>
<a href="#" class="muteUnmute">Mute</a>
<div class="progressBarOuter">
<div class="bytesLoaded"></div>
<div class="progressBar"></div>
</div>
<div class="currentTime">0:00</div>
<div class="totalTime">0:00</div>
</div>
</div>
Обновление: обратите внимание, что я преобразовал атрибуты id
в шаблоне в атрибуты class
.Это сделано для того, чтобы на вашей странице не было нескольких элементов с одинаковыми идентификаторами.Вам, вероятно, даже не нужны занятия.Вы можете получить доступ к элементам с помощью:
node.getElementsByTagName("div")[4].innerHTML =
format(data.currentTime);
В качестве альтернативы, вы можете воздействовать на HTML шаблона:
<script type="text/javascript">
var tmp = document.getElementById("tmp_audio").innerHTML;
// modify template HTML with token replacement
container.innerHTML += tmp;
</script>