1

申し訳ありませんが、私は初心者です!!! 私はjQueryが初めてで、jQuery $(this)に問題があります

私はjsfiddleで本当に単純なjquery関数を作成しましたが、それは機能しますが、ウェブサイトでは機能しません

私はjsfiddleと私のコードでもjquery 1.10.1を使用しています!

ここでコードを見ることができます:

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(".resumeActu").on('click', function(){
                var id = $(this).data('id');
                alert("id is = "+id);
            });
        </script>
    </head>
    <body>
        <div class="resumeActu" data-id="3">click me</div>
    </body>
</html>

これもjsfiddleの私のコードです:デモ

なぜ自分のコードが jsfiddle で機能するのか理解できませんが、自分のページでは機能しません

4

2 に答える 2

2

Web サイトでは、コードをドキュメント対応ハンドラーに配置する必要があります。これは自動的に行われるため、jsFiddle では必要ありません。

<script type="text/javascript">
    $(function() {
        $(".resumeActu").on('click', function(){
            var id = $(this).data('id');
            alert("id is = "+id);
        });
    });
</script>

現在のコードが機能しない理由は、.resumeActu要素が DOM に存在する前にクリック ハンドラを要素にアタッチしようとしているからです。

于 2013-11-09T13:48:24.810 に答える
0

これを試して

$(document).ready(function () {
    $(".resumeActu").on('click', function () {
        var id = $(this).data('id');
        alert("id is = " + id);
    });
});

ドキュメントの準備ができたら、この関数をロードします

于 2013-11-09T13:49:46.230 に答える