質問: ''; this_wrap.appendChild(new_col); } ```
回答: 同期処理 ==== int32_t さんの回答通り、`appendChild` は同期処理なので、forループを抜けた後に後続処理を書けば、同期的に連続処理されます。 ``` for (var i = wrap_col.length; i < active_col; i++){ var new_col = wrap_col[0].cloneNode(true); new_col.innerHTML = ''; this_wrap.appendChild(new_col); } console.log('次の処理'); ``` なお、同期処理されるのはDOMツリーにノードを追加するところまでなので、CSSの適用、外部リソース(画像ファイル等)のダウンロード等は非同期処理で行われます。 コードの改善点 ======= 余談ですが、コード上にいくつか改善点があるので指摘しておきます。 * `cloneNode(true)` した後に `innerHTML` で子ノード群を削除していますが、それならば初めから `cloneNode(false)` で子ノードを複製しなければ良いでしょう。 * DocumentFragment を使えば、appendChild は一回で済みます。 * `new_col` は毎回同じノードを cloneNode していますが、雛形となるノードを変数にキャッシュする事で効率化できます コードは次のようになります。 ``` var var new_col = wrap_col[0].cloneNode(false), df = new_col.ownerDocument.createDocumentFragment(); for (var i = wrap_col.length; i < active_col; i++){ df.appendChild(new_col.cloneNode(false)); } this_wrap.appendChild(df); console.log('次の処理'); ``` Re: re9 さん