鱼C论坛

 找回密码
 立即注册
查看: 3146|回复: 4

请大神帮我看看这段js代码问题出在哪里?

[复制链接]
发表于 2018-8-14 15:53:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在js代码那边的监听滚动事件里面
ele已经取到,用console.log也能打印出来了,但使用.addClass("active")就报错,而且取ele.siblings()也报错
但是用ele.innerHTML就可以……
为什么这个ele能用DOM方法却不能用jQuery方法?
请大神指点
test.zip (31.01 KB, 下载次数: 2)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-8-14 16:08:45 | 显示全部楼层
你想实现什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 16:14:08 | 显示全部楼层
就是随着滚轮,在左侧的列表123上添加active的class
实现方法不重要,主要是想知道,这个ele为什么不能用jQuery方法,却能用DOM方法。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 16:15:11 | 显示全部楼层
  1.     $(".content-right").on("scroll", function () {
  2.         for (let i=0;i<divHeight.length-1;i++) {
  3.             if (divHeight[i] <= (this).scrollTop() &&(this).scrollTop()< divHeight[i+1]) {
  4.                 let ele = $(".content-left div")[i];
  5.                 console.log(ele);
  6.                 console.log(ele.siblings());
  7.                 ele.addClass("active");
  8.                 ele.siblings().removeClass("active");
  9.                 // $(".content-left div")[i].addClass("active").siblings().removeClass("active");
  10.             }
  11.         }
  12.         })
复制代码


就是里面第4,5行取到的ele
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-14 17:37:28 From FishC Mobile | 显示全部楼层
找到原因了,jquery对象是包装集,不能用dom对象方法,同理dom对象也不能用jquery对象方法,js真心坑
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-15 11:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表