老师我没看懂这个

老师我没看懂这个

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

data把它看成一种属性?然后($this.data('active')+'-active')里的data('active')+'-active'是什么意思,怎么有两个active?

正在回答

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

2回答

同学你好, 在鼠标移入菜单的时候$this.data('active')是动态获取data-active的值menu,  通过与字符串“active”拼接得到类名‘menu-active’,最后通过addClass方法为菜单添加‘menu-active’类名,实现鼠标移入显示下拉菜单的效果。

老师这里给展示一下代码实现的过程。

1、 你可以在代码中使用console.log输出一下$this.data('active')值

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

打印结果

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

2、 可以检查元素,查看鼠标移入后元素的类名添加了menu-active

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

同学可以自己测试一下, 结合代码加深理解哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

好帮手慕慕子 2019-06-13 15:45:09

同学你好, data()是获取html元素中data-xxx类型的属性值, $this.data('active')是获取标签上data-active的属性值menu。

($this.data('active')+'-active表示字符串拼接操作 , 将‘menu’+ '-active'拼接得到‘menu-acitve’

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


  • 提问者 宗桦 #1
    为什么要拼接字符串,还是不懂($this.data('active')+'-active)
    2019-06-14 00:45:46
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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