为了账号安全,请及时绑定邮箱和手机立即绑定

请问jQuery自定义函数的回调函数中$(this)指向问题?

请问jQuery自定义函数的回调函数中$(this)指向问题?

弑天下 2019-06-18 15:11:33
jQuery自定义函数的回调函数中$(this)指向问题
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

$(document).ready(function() {
var btn = $(".ajaxBtn");
btn.ajaxBtn(function() {btn.hide(500);});
});

查看完整回答
反对 回复 2019-06-29
?
BIG阳

TA贡献1859条经验 获得超6个赞

恭喜你掉到了名为对象相等判断的大坑
$(this)是个JQuery对象
$(this).parent().children().last()也是个JQuery对象
他俩相等当且仅当他俩是同一个对象, 而不是他们的内容相等
但jQuery大部分查找/封装操作都会生成新的对象
所以他们永远不相等

所以解决方法
this==$(this).parent().children().get(-1)

查看完整回答
反对 回复 2019-06-29
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

function a() 定义在 第一个 $(){} 内的匿名函数的作用域之内,第二个 $(){} 内的函数无法访问他
跟下面的语法结构类似
function f1(){
function a(){
alert('a');
}
a(); //ok
}

function f2(){
a();//无法访问a 函数
}

查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 627 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信