当我运行时:
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/