js原生态函数 中使用 jQuery中的 $(this) 无效

今天遇到一个听郁闷的问题,可能因为我菜吧,哈哈。正如title所说:   js中原生态函数在jQuery 中使用 $(this) 被解析成undefined;

我今天的例子是这样的,    

$("ul li").hover(function(){

  setTimeout(function(){

    $(this).addClass("test");

    alert("延迟了0.3s  我出现了!")    //测试

  },300)

}) 

在运行时,这个黄色部分是不执行的  ,然后我弹出了一下$(this)原来是undefined  (其实已经猜到了);

然后我就没想(习惯),直接到百度找了,然后没找到答案,然后我就自己想,是不是换种方法,但是我觉得又不大合理,随后我就想到了  在里面读不到,外面可以读得到,  然后我就将$(this)  在setTimeout()外面赋给了一个变量。这样就迎刃而解了。哈哈,挺无语的问题吧,其实我在这里不是想说如何解决的,我是说这种思路,解决问题前先不要一味的去百度  谷歌  

先要自己想想办法,真想不到,去找答案。

$("ul li").hover(function(){

  var oLi = $(this);

  setTimeout(function(){

    oLi.addClass("test");

    alert("延迟了0.3s  我出现了!")    //测试

  },300)

}) 

posted @ 2011-05-25 09:46  大大的白鲨  阅读(1008)  评论(6编辑  收藏  举报
知心爱人网   烟台龙口海景房    济南网站建设    济南网站制作    济南网络公司    济南网站建设公司    济南建网站公司