dポイントプレゼントキャンペーン実施中!

jQueryでdiv作成後に、そのdivへ対して処理したいです。

具体的には、下記ページに掲載している内容の通り、for文でDOM要素を作成して、最後に$div.append($作成したDOM)しています。
http://himaxoff.blog111.fc2.com/blog-entry-51.html

div作成自体はうまく出来るのですが、実際に試してみたところ、DOM作成を待たずに処理が走るためか期待した動作になりません

■質問
・$div.appendが完了したことを待ってから、次の処理を走らせるようにするにはどうすればよいでしょうか?

A 回答 (2件)

ANo1です。



setTimeout()は指定時間後に処理を行なうメソッドなので、DOMとは直接関係はありません。
その処理の中で要素が取得できなければ、要素がないというエラーになります。
jQueryを用いている場合は、要素がなくても処理を行なわないだけで、エラーを回避するようになっていると思います。

要素を取得したところで、取得できているかをチェックしてみればデバッグが進むのではないでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2013/10/08 12:50

>実際に試してみたところ、DOM作成を待たずに処理が走るためか期待した動作になりません


普通に連続して処理しても実行されると思いますが、何か特殊な処理をなさっているのでしょうか?

あるいは、「作成したDOM」が既にあるのですから、それに対して処理をしてもよろしいかと。

この回答への補足

回答ありがとうございます。

実は、作成したdivに対して、setTimeoutしているのですが、関係あるでしょうか?
setTimeoutカウント開始が、divを作成してからではなく、ページを読み込んでから開始しているような気がします。

動的にdivを作成して、そこからsetTimeoutするにはどうすれば良いでしょうか?
それとも、setTimeout使う場合も、普通に連続して処理実行される感じでしょうか?

補足日時:2013/10/01 15:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!