1

私にとって、jQueryの何もChromeで機能していないようです。私のバージョンは18.0.1025.151mです。javascriptはファイルtest.jsにあります:

$('#paragraph').click(function() {
$('#paragraph').hide();
});

そしてhtmlはこれです:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery Example</title>

    <script src="jquery-1.7.1.min.js"></script>
    <script src="test.js"></script>
</head>
<body>
    <p id="paragraph">This is my paragragh 401!</p>
</body>
</html>

jQueryファイルが本来あるべき場所にあることをトリプルチェックしました。基本的に、コードはクリックすると段落が消えるようになっています。十分に単純で構文的に正しいようです。通常のjavascriptステートメントとコード(alert()など)は正常に機能しますが、jQueryではこれまでまったく機能していなかったため、このような単純なコードを選択しました。

しかし、ここに奇妙な部分があります。Chromeの開発者ツールでコンソールを使用しているときに、まったく同じjQueryを入力してEnterキーを押すと、実際に機能し、想定どおりに機能します。

これはChromeのセキュリティ構造などと関係がありますか?

編集:また、私はまだこれらのファイルをサーバーにアップロードしていないことに注意する必要があります。これはローカルホスト上にあります(私はそれが価値があるもののためにxammpを使用しています)、それでおそらくそれは問題にいくらかの光を当てるのを助けるかもしれません。

4

3 に答える 3

3

コードをドキュメントの準備ができた状態でラップするか、test.js本文の終了タグの前に配置します。

于 2012-04-09T21:09:17.003 に答える
2

DOMの準備が整う前に実行されます。次のようになります。

$(function(){
    $('#paragraph').click(function() {
        $('#paragraph').hide();
    });
});

以下のコメントに対処するには:

http://api.jquery.com/ready/

.ready()メソッドは通常、無名関数で使用されます。

$(document).ready(function() {
  // Handler for .ready() called.
});

これは、呼び出すことと同じです。

$(function() {
 // Handler for .ready() called.
});
于 2012-04-09T21:10:35.633 に答える
0

あなたはそれを文書の準備ができている状態で包む必要があります。それはおそらくあなたの問題です。$(this)また、セレクターを使用またはキャッシュすることもできます。

$(function () {
    $('#paragraph').click(function () {
        $(this).hide();
    });
});
于 2012-04-09T21:10:36.207 に答える