为什么以下jquery脚本不起作用?

时间:2009-04-08 19:49:04

标签: javascript jquery

我有一个简单的单页设置。在根文件夹下,我有3个子文件夹(js,css和images)。在根文件夹中,我有一个index.html页面,其中包含以下内容:

<html>
<head>
<title></title>
<script language="javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="javascript" src="js/myscript.js"></script>
</head>
<body>
<a onclick="doSomething()" href="#" class="doSomething">Click!</a>
</body>
<html>

myscript.js包含以下代码:

$('a.doSomething').click(function(){
//Do Something here!
alert('You did sometihng, woo hoo!');
});

当我点击链接时,没有任何反应。我错过了什么?

2 个答案:

答案 0 :(得分:10)

围绕代码包装文档:

$(document).ready(function() {
    $('a.doSomething').click(function(){
        //Do Something here!
        alert('You did sometihng, woo hoo!');
        return false; // return false to prevent default action
    });
});

就像现在一样,您正在尝试将事件绑定到DOM中尚不存在的元素。

另外,不确定为什么你在链接本身上有onclick,因为jQuery的重点是能够将那些丑陋的内联事件从那里带出来并在javascript中干净地绑定它们。如果你这样做:

<a href="#" class="doSomething">yay click me</a>

然后使用上面的代码,它应该可以正常工作。

答案 1 :(得分:0)

起初我以为你错过了一个名为“doSomething”的功能。然后我意识到你希望你的选择器无论如何都能找到锚标签。但是,这不会发生。在脚本运行时,锚尚未添加到DOM中。