onclick里面的方法写在$(function(){ })里面无效,写在外面就生效是什么问题呀?

onclick里面的方法写在$(function(){ })里面就失效,写在外面就生效

 <a href='javascript:void(0);' onclick='deleteAtt()'>删除</a>

我一般把方法都写在$(function(){})里面,但是今天用到了onlick,发现写在里面无效!!!

请问一下是什么原因呢???

写在$(function(){ })里面的函数是处在一个局部作用域中的,也就是我们常说的“闭包”,只能由同处在一个闭包内的代码访问到。
你a标签的onclick是写在$(function(){ })这个闭包外面的,当然访问不到了。

既然用了jquery的包 ,直接用jquery的方式绑定事件不就好了
$(function(){
$("a").click(function(){
///todo
});
});

如果非要使用oncLick,还可以把方法挂到window.下。

感觉可能是你语法问题吧,给a一个id标识,如:id="deltab"
 <a id="deltab" href='javascript:void(0);' >删除</a>

 函数绑定:
 $(function(){
        $("#deltab").click(function(){
            //deleteAtt 的内容
        });
 })