当我跑步时:
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方法,但是我一直在尝试使用带有jQuery元素的原生javascript。
答案 0 :(得分:3)
+=
可用于字符串连接,但是一旦将字符串添加到数字中,整个变量就会变成一个字符串,因此无法使用-=
,因为从字符串中减去字符串isn'可能。
如果您只想使用javascript,我建议您使用.replace("old","new")
示例:的
console.log($('.' + menu_id)[0].className.replace("hide-left", ""));
答案 1 :(得分:1)
因为-
没有这样做。它做数字减法。 className
不是数字而'main-mobile-menu'
不是数字,结果不是数字。
答案 2 :(得分:1)
在JavaScript / Jquery中+
用于连接字符串,但-
可用于对int进行算术运算,但不能用于字符串。