【jQuery】保持this所指向的元素(以Ajax为例说明)

有时候想要用this来一直指向当前所选取的元素,但出于其他原因,到最后可能很难使用this仍然无差错地获取到当前所选的元素。若想继续保持this的指向,可以先用一个变量来存储this当前所获取到的元素,到后面再赋值使用。这么表达可能还不太清楚,我们用代码来说话。


以上代码的主要功能是:使用Ajax,当下拉列表选取的值发生改变时,在另一个地方(这里其实是放在了一个表格的另一列)局部刷新显示下拉列表获取到的value值(本文想说明的this问题主要是圈出来的那两行代码,其他代码暂时忽略)。

很明显,complete里的函数that如果换成了常规的做法:this.parent().siblings('td[name="status"]').text(optionValue);由于增加了$.ajax({……});函数,此时的this并不是指向第一行代码中获取到的当前select元素。

解决办法:在$.ajax({……});函数外面定义一个变量,然后使用$(this)获取当前选中的select元素,最后赋值给该变量。这样就可以一直保持this的指向元素不变了。


Author:致知

Sign:路漫漫其修远兮,吾将上下而求索。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值