js原生态函数中使用jQuery中的 $(this)无效的解决方法_jquery
程序员文章站
2022-05-05 13:05:17
...
我今天的例子是这样的,
$("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)
})
复制代码 代码如下:
$("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)
})
上一篇: JavaScript分页功能的前端代码实现和请求处理详解
下一篇: Python 数据流操作
推荐阅读
-
jquery中的$(document).ready()使用小结
-
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
-
jquery中AJAX请求 $.post方法的使用
-
JQuery中关于jquery.js与jquery.min.js的比较探讨
-
jquery中ajax使用error调试错误的方法教程
-
原生js实现复制对象、扩展对象 类似jquery中的extend()方法教程
-
jquery.ajax的url中传递中文乱码问题的解决方法
-
jQuery中ajax的使用与缓存问题的解决方法
-
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
-
JS中appendChild追加子节点无效的解决方法