既に解決しているようですが、「こういうやり方もあるよ」という程度で参考にしてもらえればと。
htmlのミスがあっては正しく認識しないかもしれませんので。
html
1<div id=hoge"></div>
↓
html
1<div id="hoge"></div>
もし1,2など「値」だけ文字列で受け取るならこちら↓。
createElement
js
1window.addEventListener('load', function() {
2 var table = document.createElement("table");
3 var th1 = document.createElement("th");
4 th1.textContent = "1";
5 var td1 = document.createElement("td");
6 td1.textContent = "2";
7 var tr1 = document.createElement("tr");
8 tr1.appendChild(th1);
9 tr1.appendChild(td1);
10 table.appendChild(tr1);
11 document.getElementById("hoge").appendChild(table);
12});
文字通りtableタグ全部受け取るならこちら↓。
力技。一度仮のエレメントを作ってappendChild()した後に子ノードとして取り出して、hogeへappendChild()
js
1window.addEventListener('load', function() {
2 var str = "<table><tr><th>1</th><td>2</td></tr></table>";
3 var div = document.createElement("div");
4 div.innerHTML = str;
5 var table = div.childNodes[0];
6 document.getElementById("hoge").appendChild(table );
7});
yambejpさんの回答通り最初からinnerHTML()の方がコードが短く済みますね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/06 04:23