1

プロトタイプ/jquery を使用して既存の要素にデータを「追加」するメソッドを使用する場合、そのようなロジックをdocument.observe("dom:loaded", foo)/$(document).ready(foo)関数内にラップするのは良い方法ですか?

4

2 に答える 2

2

ready/loaded イベントがないと、ページの下部にない限り、コードは起動しません。<head>これは、コードがセクション (本体の前に実行される)から読み取られるときに要素が存在しないためです。

これを試して:

$("body").animate({'background-color', '#ff0000'}, 2000);

そして、これを試してください:

$(document).ready(function() {
    $("body").animate({'background-color', '#ff0000'}, 2000);
});

あなたは私が何を意味するかを見るでしょう:)

于 2010-07-06T10:02:00.993 に答える
1

htmlまあ、それが要素であるか、マークアップの要素の後に直接挿入しない限り、DOM /ウィンドウの準備が整う前に要素を参照することを考えると、はい、それが本当にそれを成し遂げる唯一の方法です。

<!doctype html>
<html>
    <head>
        <script>alert( document.getElementById('foo') );</script>
    </head>
    <body>
        <p id="foo"></p>
    </body>
</html>

上記は失敗し、null を返します。

于 2010-07-06T09:57:34.990 に答える