jq日历插件引起的思考$("ele") 和 $($("ele"))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在JQ对象里面扩展一个CalenderPlugin

写在了$.fn.extend()的参数里面

传进去一个obj,里面有个属性:CalenderPlugin,是一个匿名函数,

分析,第一个this指向谁?

1.谁调用就指向谁 $("#date_input") 是个jq对象,也就是说,后面绑定的create,bindData都是JQ对象的属性,而不是DOM对象的属性,this----> $(“date_input”)

2.这里的this就是JQ对象,所以写成this也是OK的

在这里插入图片描述

因为 $(“a”) $( $(“a”))都是JQ对象,但是这两个JQ对象是不等价的,不同的对象永不相等,只能进行属性值的比较,不能在 $(“a”) 上绑定属性,用 $( $(“a”))调用,因为 $( $(“a”))是一个新的对象

3.所以在这里必须用最外层的this_才能取到这个函数,如果用$(this)是取不到的,甚至用 $(this_)也不行,因为一用 $()包起来就是一个新的JQ对象了,就再也没有之前的方法与属性了

在这里插入图片描述

4.在$(“xxx”).click(function(){ 里面this指向被点击的元素,因为click包装了一个ele.onclick = fn [我们写的回调函数]})

5. $( “ele”) 和 $( $(“ele”))只绑定事件不添加其他属性时是等价的,内部都是ele.onclick = fn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值