На мой взгляд, группу кнопок лучше сразу помещать в блок (div, span,...), хотя бы для того, чтобы на него, при необходимости, повесить один обработчик (а не на все элементы по обработчику).
Кнопки также можно добавлять строкой в innerHTML.
Думаю из этого примера можно понять о чём речь.
<style>
pre {background: green} /*когда обернётся фон станет зелёным*/
</style>
<input type="button" value="+" onclick="create('pre wrap', 5, 'pre')">
<script>
function create (name, amount, wrapping) {
//добавляем новый блок
var newDiv = document.createElement('div');
document.body.appendChild(newDiv);
//назначаем ему обработчик
newDiv.onclick = function () {
newDiv.innerHTML = '<' + wrapping + '>' + newDiv.innerHTML + '</' + wrapping + '>';
alert(newDiv.innerHTML); //для посмотра, что получилось
};
//добавляем кнопки в блок
var str = '<input type="button" value="' + name + '" >';
for (var i = 0; i < amount; i++) {
newDiv.innerHTML += str;
}
}
</script>