课程
/前端开发
/JavaScript
/星级评分原理和实现(上)
return this.each(function() { //为什么是this而不是$(this) init(this,num); });
2017-08-22
源自:星级评分原理和实现(上) 3-4
正在回答
因为封装对象方法的插件是写在 $.fn.extend({ /*代码省略*/}); 里面的,你调用的时候肯定是基于jQuery对象调用的,这里的调用是$("#rating2").rating(4);, 所以函数中的this引用的是 '$("#rating2")' 这个jQuery对象。
你可以自己试验下,在函数内部打印this 和 $(this),控制台日志上返回的都是一个数组,证明他们引用的都是jQuery对象。两种写法都可以正常运行。
有道理!
举报
本课程主要讲解如何使用不同的方式来实现星级评分的效果.
1 回答this和$(this)区别
3 回答lightEntire函数初始化this.$el=$(el);这些为什么要加this呢
1 回答现在的$(this)是父元素,下标index是不对的,导致页面错乱,为什么老师的$(this)指向是正确的???
1 回答为什么14'20"处,select的函数那里console.log(this)的结果说明this指向的是lightEntire那个对象呢?
1 回答为什么解绑定事件与(typeof selt.opts.chosen === 'function') && selt.opts.chosen.call(this, selt.opts.num, itemLength);有关