createDocumentFragment () で生成したものを appendChild すると一度ですむのか。

テーブル要素の置き換え方法に。

<!DOCTYPE html>
<title></title>
<meta charset="UTF-8">

<body>

<table border="1">
<tr id="a">
  <td>a <td id="hoge">z
</table>

<script>

var fgm = document.createDocumentFragment ();
var td = document.createElement ('td');

'bcdcdefghijklmnopqrstuvwxy'
  .split ('')
  .map (function (str) { this.textContent = str; return this.cloneNode (true); }, td)
  .forEach (function (td) { this.appendChild (td); }, fgm);


var tgt = document.getElementById ('hoge');

tgt.parentNode.insertBefore (fgm, tgt);
</script>