2011-06-24 11 views
1

誰かが私を助けてくれることを願っています。この変数の読み込みに問題があります。今、私はドキュメントが準備ができているときに表示されているイメージを持っています。それにはIDがあります。だから私はそのIDをキャプチャしようとしていると警告しますが、.attr()を使ってみると、私には未定義の変数が与えられます。しかし、同じスクリプトを別のウィンドウの負荷の下で実行すると、最初のアラートが私に不定を与え、2番目のスクリプトが正しいIDを返します。ドキュメントが読み込まれた後に単一の変数をロードする

マイスクリプト:

window.onload = function() { //first onload gives undefined 
    var imgID = $('.selector').attr('id'); 
    alert(imgID); 
}; 

$(document).ready(function(){ //gives me correct id 
    var imgID = $('.selector').attr('id'); 
    alert(imgID); 
}); 

これら2つの関数は同じページ内に配置されています。したがって、最初のアラートがポップアップすると、ページの読み込み時間が得られ、イメージIDを取得する2番目のアラートポップアップが表示されます。

私はページがロードされた後にIDを取得しようとしていると思いますか?誰かがそれをする方法について私を助けることができますか?ありがとうございます

答えて

1

私が達成したかった何をすべきか、私はただの時間間隔を設定する必要がありました。

0

document.readyはwindow.onloadがなくても動作するはずです。 DOMがロードされた後の機能が起動するよう.readyが、ここで十分なはず

$(function() { 
    var imgID = $('.selector').attr('id'); 
    alert(imgID); 
}); 
+1

ページが読み込まれた直後にロードしようとしています。私はすべてを同時にロードすると定義されません。なぜ私は2回ロードしているのかという例があります。 – hellomello

0

$(文書):ところで、あなたはdocument.readyのためのjQueryの$()略語を使用することができます。あなたはそれがあなたのために働くと言うので、私は問題が何かを見ません。 window.onloadを削除し、$(document).readyを使用することができます。

http://www.learningjquery.com/2006/09/introducing-document-ready

+0

私は何かが最初にロードされていないと、定義されていません。すべてがすべて一緒にロードされています。私がwindow.onloadを削除した場合、私は未定義のアラートを取得するつもりです – hellomello

関連する問題