Html页面中引用了Jq,为什么会报“addClass is not a function”?
这是html页面的代码:
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="../js/script.js" ></script>
这是script.js页面:
(function(){
var pageObj=document.getElementsByTagName("section");
function scrootActive(){
var seeH=document.documentElement.clientHeight;
var scrooTops=document.documentElement.scrollTop||document.body.scrollTop;
for(var i=0;i<pageObj.length;i++){
if(pageObj[i].offsetTop<seeH+scrooTops){
pageObj[i].addClass("active");
}
}
}
window.addEventListener("scroll",scrootActive,false);
})(jQuery);
$(pageObj[i]).addClass("active");
为什么要加$呢?
@忻韵: 因为 addClass 是 jQuery 对象的方法,$(pageObj[i]) 或者 jQuery(pageObj[i]) 就是将原生 DOM 元素包装成 jQuery 对象
@by.Genesis: 哦,我知道了,那还可以改之前定义的var pageObj=$("section");
jQuery(pageObj[i]).addClass("active");
谢谢