javascript - jQuery 元素上的加减等于不起作用。为什么?

标签 javascript jquery

当我运行时:

console.log($('.' + menu_id)[0].className);

我得到:

main-mobile-menu hide-left

当我运行时:

console.log($('.' + menu_id)[0].className -= ' hide-left');

我得到:

NaN

我可以使用以下方法设置类:

$('.' + menu_id)[0].className = 'main-mobile-menu'

但我不明白为什么 -= 不起作用。我知道 jQuery 中有一个 removeClass 方法,但我一直在尝试尽可能将 native javascript 与 jQuery 元素一起使用。

最佳答案

+= 可用于字符串连接,但一旦将字符串添加到数字中,整个变量就变成了字符串,因此不能使用 -=,因为从一个字符串中减去一个字符串是不可能的。

如果您只想使用 javascript,我建议您使用 .replace("old","new")

示例:

console.log($('.' + menu_id)[0].className.replace("hide-left", ""));

关于javascript - jQuery 元素上的加减等于不起作用。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23140094/

相关文章:

javascript - 如何将嵌套的 json 数据绑定(bind)到 angularjs 下拉列表中?

jquery - 如何使用 jquery 显示或隐藏标签

javascript - 如何在Windows上上传扩展名为 '.pem'的文件

javascript - 如何检查 d3 中的 NaN 值?

javascript - 如何在 adobe DTM 中延迟 s.t 调用?

javascript - 使用 Greensock 的滚动动画问题

javascript - 对特定列数据应用条件 - jquery DataTable

javascript - 如何使用 jQuery GalleryView 插件删除它们?

javascript - d3.js - 未捕获的类型错误 : Object [object Object] has no method 'getBoundingClientRect'

javascript - 多列 HTML 列表,第一列中有一定数量的元素?