奔跑的读书人
2017-08-22 18:58
return this.each(function() { //为什么是this而不是$(this) init(this,num); });
因为封装对象方法的插件是写在 $.fn.extend({ /*代码省略*/}); 里面的,你调用的时候肯定是基于jQuery对象调用的,这里的调用是$("#rating2").rating(4);, 所以函数中的this引用的是 '$("#rating2")' 这个jQuery对象。
你可以自己试验下,在函数内部打印this 和 $(this),控制台日志上返回的都是一个数组,证明他们引用的都是jQuery对象。两种写法都可以正常运行。
有道理!
星级评分原理和实现(上)
25809 学习 · 109 问题
相似问题
回答 1