天圆突破 发表于 2018-8-14 15:53:01

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

在js代码那边的监听滚动事件里面
ele已经取到,用console.log也能打印出来了,但使用.addClass("active")就报错,而且取ele.siblings()也报错
但是用ele.innerHTML就可以……
为什么这个ele能用DOM方法却不能用jQuery方法?
请大神指点

不二如是 发表于 2018-8-14 16:08:45

你想实现什么?

天圆突破 发表于 2018-8-14 16:14:08

就是随着滚轮,在左侧的列表123上添加active的class
实现方法不重要,主要是想知道,这个ele为什么不能用jQuery方法,却能用DOM方法。。。

天圆突破 发表于 2018-8-14 16:15:11

    $(".content-right").on("scroll", function () {
      for (let i=0;i<divHeight.length-1;i++) {
            if (divHeight <= $(this).scrollTop() &&$(this).scrollTop()< divHeight) {
                let ele = $(".content-left div");
                console.log(ele);
                console.log(ele.siblings());
                ele.addClass("active");
                ele.siblings().removeClass("active");
                // $(".content-left div").addClass("active").siblings().removeClass("active");
            }
      }
      })

就是里面第4,5行取到的ele

天圆突破 发表于 2018-8-14 17:37:28

找到原因了,jquery对象是包装集,不能用dom对象方法,同理dom对象也不能用jquery对象方法,js真心坑
页: [1]
查看完整版本: 请大神帮我看看这段js代码问题出在哪里?