js原生态函数中使用jQuery中的 $(this)无效的解决方法 |
本文标签:jQuery,$(this) 我今天的例子是这样的, 复制代码 代码如下: $("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) }) |