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 中的代码:demo

我不明白为什么我的代码可以在 jsfiddle 上运行,但在我的页面中却不行

4

2 回答 2

2

在您的网站中,您需要将代码放在文档就绪处理程序中。这在 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 回答