下面的代码没有用到each也能完成对每个含有dropdown类的遍历,这是为什么

下面的代码没有用到each也能完成对每个含有dropdown类的遍历,这是为什么

$.fn.extend({

dropdown:function(){

$(this).hover(function () {

// body...

var $this=$(this);

$this.addClass($this.data('active')+'-active');//data() 方法向被选元素附加数据,或者从被选元素获取数据。

// 对于js中可能涉及的样式修改,最好别直接在js中写,通过css中新定义样式后添加进来比较好

},function(){

var $this=$(this);

$this.removeClass($this.data('active')+'-active');

})

}

})


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-02-17 19:16:03

@"小姜同学666",同学你好,简单理解两者差异就是调用方式不同。 如下:

  1. 通过插件方式定义在jq对象上的dropdown方法, 使用jQuery对象调用该方法。示例: $elem.dropdown()

  2. 使用function直接定义的dropdown方法,在调用时传入对应的jQuery对象,示例:dropdown($elem)

同学可以试着理解下,祝学习愉快~

好帮手慕粉 2020-01-16 16:12:54

同学你好,用到each了,是在我们定义的插件里面遍历的:

http://img1.sycdn.imooc.com//climg/5e201a7e094ae97d06940226.jpg

过程如下,当我们执行$('.dropdown').dropdown()时,调用我们自己定义的插件:

http://img1.sycdn.imooc.com//climg/5e201af009c6a2f410040740.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 请问老师,这里JQ原型上的dropdown方法和JQ里的dropdown函数有什么差异
    2020-02-17 16:37:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师