Также не забывайте, что кроме createElement и appendChild можно менять содержимое и установкой нужной строки в innerHTML.
Например,
<script>
var str = '<button onclick="alert(this.innerHTML)">click</button>';
window.onload = function () {
document.body.innerHTML = str;
}
</script>