jQuery类选择器并单击()

时间:2011-02-26 07:19:38

标签: javascript jquery html

我正在尝试在点击某些内容时发出警报。我可以在jsFiddle中使用它,但不能在生产代码中使用它:

jsFiddle example that works(加载jQuery 1.5)
HTML(如果jsFiddle无法访问):

<!DOCTYPE HTML><html><head><title>Test</title></head>
<body> <h1>25 Feb 2011</h1><h3>ABC</h3><ul>
        <li class="todoitem">Test&mdash;5 minutes</li> </ul>
</body></html>

使用Javascript:

$(".todoitem").click(function() {
alert('Item selected');
});

非工作生产示例:

<!DOCTYPE HTML><html><head><title>Test</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
        $(".todoitem").click(function() {
        alert('Item selected');
        });
    </script>
</head>
<body>
<h1>25 Feb 2011</h1><h3>ABC</h3><ul><li class="todoitem">Test&mdash;5 minutes</li></ul>
</body>
</html>

Safari的Inspector表明正在正确加载jQuery,所以这不是问题。据我所知,这两段代码基本相同,但后者不起作用。谁能看到我做错了什么?

2 个答案:

答案 0 :(得分:19)

您需要将代码包装在$(document).ready()

这将有效

$(document).ready(function(){
        $(".todoitem").click(function() {
            alert('Item selected');
        });
});

JSfiddle自动为您做到这一点

答案 1 :(得分:2)

将代码包装在

$(function (){

})

你有工作代码

$(function (){

    $(".todoitem").click(function() {
        alert('Item selected');
    });

})