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つの関数は同じページ内に配置されます。したがって、最初のアラートがポップアップすると、ページの読み込み時間が与えられ、次に2番目のアラートがポップアップして画像IDをキャプチャします。

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

4

3 に答える 3

1

やりたいことをやるには、時間間隔を設定するだけでした。

于 2012-07-02T06:00:48.327 に答える
0

document.readyは、window.onloadがなくても機能するはずです。$()ところで、 document.readyのjQueryの略語を使用できます。

$(function() {
    var imgID = $('.selector').attr('id');
    alert(imgID);
});
于 2011-06-24T04:19:19.797 に答える
0

DOMがロードされると関数が開始されるため、ここでは$(document).readyで十分です。あなたはそれがあなたのために働くと言うので、私は問題が何であるかわかりません。window.onloadを削除して、$(document).readyを使用できます。

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

于 2011-06-24T04:20:08.340 に答える