<div>
内部にを追加して、動的にを作成しようとしています<div>
。 これまでのところ、これは動作します:
var iDiv = document.createElement('div');
iDiv.id = 'block';
iDiv.className = 'block';
document.getElementsByTagName('body')[0].appendChild(iDiv);
2 番目の div を作成して最初の div に追加するときに問題が発生します。
基本的に、最終的なマークアップとしてこれを実行したいと思います。
<div id="block" class="block">
<div class="block-2"></div>
</div>
ベストアンサー1
同じプロセスを使用します。作成したiDiv
元の要素を参照する変数がすでにあります。 別の変数を作成してを呼び出すだけです。<div id='block'>
<div>
appendChild()
// Your existing code unmodified...
var iDiv = document.createElement('div');
iDiv.id = 'block';
iDiv.className = 'block';
document.getElementsByTagName('body')[0].appendChild(iDiv);
// Now create and append to iDiv
var innerDiv = document.createElement('div');
innerDiv.className = 'block-2';
// The variable iDiv is still good... Just append to it.
iDiv.appendChild(innerDiv);
イベント作成の順序は、上記のとおりである必要はありません。innerDiv
両方を に追加する前に、外側の div にnew を追加することもできます<body>
。
var iDiv = document.createElement('div');
iDiv.id = 'block';
iDiv.className = 'block';
// Create the inner div before appending to the body
var innerDiv = document.createElement('div');
innerDiv.className = 'block-2';
// The variable iDiv is still good... Just append to it.
iDiv.appendChild(innerDiv);
// Then append the whole thing onto the body
document.getElementsByTagName('body')[0].appendChild(iDiv);