<script type="text/javascript">
$("a.filef").click(function(e){
alert('hi, it works');
return false;
});
</script>
<a class="filef" href="" rel="1">A</a>
<a class="filef" href="" rel="2">V</a>
答案 0 :(得分:3)
您需要确保首先存在元素。试试这个:
$(function(){
$("a.filef").click(function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
将您的代码放在:
中$(function(){
/* here */
});
使它等到DOM加载完成后再运行。在您的情况下,它会在尝试将逻辑绑定到它们之前等待链接存在。
在某些情况下,您需要在对象存在之前运行代码。许多支持Ajax的网站就是这种情况。在这些情况下,jQuery具有$.live()
方法,其外观相似:
$(function(){
$("a.filef").live("click", function(e){
e.preventDefault();
alert("Hi, it works.");
});
});
使用它,如果元素已经存在,或者将来某个时间出现,则无关紧要。除非您正在使用ajax或后期创建的元素,否则我建议坚持使用第一个解决方案。
答案 1 :(得分:0)
答案 2 :(得分:0)
将脚本包装在一个函数中并将其作为参数传递给$(document).ready(function),或者你可以将内容写成匿名函数。
<script type="text/javascript">
$(document).ready(function(){
$("a.filef").click(function(e){
alert('hi, it works');
return false;
});
});
</script>