我正在尝试在点击某些内容时发出警报。我可以在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—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—5 minutes</li></ul>
</body>
</html>
Safari的Inspector表明正在正确加载jQuery,所以这不是问题。据我所知,这两段代码基本相同,但后者不起作用。谁能看到我做错了什么?
答案 0 :(得分:19)
您需要将代码包装在$(document).ready()
中这将有效
$(document).ready(function(){
$(".todoitem").click(function() {
alert('Item selected');
});
});
JSfiddle自动为您做到这一点
答案 1 :(得分:2)
将代码包装在
中$(function (){
})
你有工作代码
$(function (){
$(".todoitem").click(function() {
alert('Item selected');
});
})