javascript - TypeError : tn. add/removeClass 不是函数

标签 javascript jquery html

我想为我的网站制作一个“粘性”导航功能,当您向下滚动直到顶部的横幅消失时,导航栏会粘在顶部。

我创建了这个脚本:

var tn = ".topnav"
var tns = ".topnav-scrolled"
var kz = $('#kopfzeile').height();
console.log("tn: " + tn);
console.log("tns: " + tns);
$(window).scroll(function() {
  if ($(this).scrollTop() > kz) {
    tn.addClass(tns);
  } else {
    tn.removeClass(tns);
  }
});

错误是:

TypeError: tn.removeClass is not a function

还有

TypeError: tn.removeClass is not a function

最佳答案

您收到is not a function错误,因为tn只是一个字符串(选择器),您无法调用removeClass()方法,你应该用 $() 将它包装成一个 jQuery 对象,应该是:

$(tn).addClass(tns);
//And
$(tn).removeClass(tns);

关于javascript - TypeError : tn. add/removeClass 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47939327/

相关文章:

javascript - 使用 jQuery 禁用无效

javascript - 在 JavaScript 中格式化 HTML、CSS 和 JavaScript 代码的最佳方式是什么

javascript - 如何为 Sails 中的图像生成外部 url?

javascript - 使链接没有可点击的填充但有可点击的背景图像

jquery - 如何使用 Bootstrap 单击时更改按钮的颜色?

html - 由于错误 c00ce56e 在所有 IE 版本中无法完成操作

jquery - 如何使用 CSS 更改 jquery ui 小部件控件的高度

javascript - 跨域 Javascript 访问 WCF 自托管服务时出现 404/405 错误

javascript - 类不支持数组的反序列化

javascript - AJAX 的另一个 IE 问题