关于Jquery中的this关键字的用法的疑惑

明月镇魂 2018-11-03 06:41:07
我看网上都是说this都是指向当前的DOM对象,但是在Jquery中也能用this,我有些不理解。例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script>
$(function(){
$("#choose").change(function(){
var val = this.value;
alert(val);
})
})
</script>
</head>
<body>
<form>
<select id="choose">
<option value="-1">--请选择城市--</option>
<option value="0">济南</option>
<option value="1">郑州</option>
<option value="2">太原</option>
<option value="3">长春</option>
</select>
</form>
</body>
</html>


这里面只有JQuery对象,this去哪里指向一个DOM对象呢?请各位帮忙释疑一下
...全文
144 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
思想问题 2018-11-13
  • 打赏
  • 举报
回复
就是当前的对象呀,感觉和java很像
LastOfTheWilds 2018-11-10
  • 打赏
  • 举报
回复
指的就是当前对象
雾里看花の 2018-11-05
  • 打赏
  • 举报
回复
很简单,谁调用,this就指的谁,


$("#choose").change(function(){

});

中change方法是被$("#choose")调用的,所以this指的是$("#choose")
唐_方 2018-11-05
  • 打赏
  • 举报
回复
this指代的是函数名前面的那个对象也就是 $("#choose") 就是当前的obj
咸哼酒家 2018-11-04
  • 打赏
  • 举报
回复
var val = this.value;
获取id为choose的对象选择值
这里的this指的是对象$("#choose");


如果你不好理解的话
<script>
$(function(){
$("#choose").change(function(){
var val = this.value;
alert(val);
})
})
</script>
改为:
<script>
$(function(){
$("#choose").change(function(){
var val = $("#choose").val();//不用this了,直接获取指定id的值
alert(val);
})
})
</script>
kingmax54212008 2018-11-03
  • 打赏
  • 举报
回复
是这个作用域

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧