Javascript jQuery元素上的加号或减号等于无效。为什么?
当我跑步时:Javascript jQuery元素上的加号或减号等于无效。为什么?,javascript,jquery,Javascript,Jquery,当我跑步时: console.log($('.' + menu_id)[0].className); console.log($('.' + menu_id)[0].className -= ' hide-left'); 我得到: main-mobile-menu hide-left NaN 当我跑步时: console.log($('.' + menu_id)[0].className); console.log($('.' + menu_id)[0].className -= '
console.log($('.' + menu_id)[0].className);
console.log($('.' + menu_id)[0].className -= ' hide-left');
我得到:
main-mobile-menu hide-left
NaN
当我跑步时:
console.log($('.' + menu_id)[0].className);
console.log($('.' + menu_id)[0].className -= ' hide-left');
我得到:
main-mobile-menu hide-left
NaN
我可以使用以下命令设置类:
$('.' + menu_id)[0].className = 'main-mobile-menu'
但是我不明白为什么-=不起作用。我知道jQuery中有一个removeClass方法,但我一直在尝试在可能的情况下将本机javascript与jQuery元素一起使用。因为
-
不能做到这一点。它做数字减法。className
不是一个数字,'main-mobile-menu'
不是一个数字,结果也不是一个数字。因为-
不会这样做。它做数字减法。className
不是数字,'main-mobile-menu'
不是数字,结果也不是数字。在JavaScript/Jquery中+
用于表示字符串,但是-
可以用于int上的拟态操作,但不能用于string上的拟态操作。在JavaScript/Jquery中+
用于concatating string,但是-
可以用于int上的算术运算,但不能用于string上。+=
可以用于字符串串联,但一旦将字符串添加到数字上,整个变量就会变成字符串,因此-=
不能使用,因为无法从字符串中减去字符串
如果您只想使用javascript,我建议您使用
例如:
+=
可用于字符串串联,但一旦将字符串添加到数字中,整个变量就会变成字符串,因此不能使用-=
,因为无法从字符串中减去字符串
如果您只想使用javascript,我建议您使用
例如:
为什么要使用“带jQuery元素的本机javascript”?既然您使用的是jQuery,为什么不使用.addClass()和.removeClass()功能呢?
-
运算符只用于数字,不用于字符串<另一方面,代码>+有两个功能。这是加法和字符串连接。@RocketHazmat为了提高速度,我想使用原生JS。最近阅读了一篇文章,文章测量了本地JS与jQuery元素混合的速度差异。在一个小应用程序中并不重要,但可以累积数月/数年的编码。@ltrainpr:那你为什么要混合使用jQuery和“香草JS”?使用其中一种,不要混搭。如果您只是想忽略jQuery而使用原生DOM方法,那么为什么要浪费时间在jQuery上呢?如果不使用jQuery方法,调用jQuery构造函数是浪费时间。另请参见:为什么要使用“带jQuery元素的本机javascript”?既然您使用的是jQuery,为什么不使用.addClass()和.removeClass()功能?-
运算符仅用于数字,而不用于字符串<另一方面,代码>+有两个功能。这是加法和字符串连接。@RocketHazmat为了提高速度,我想使用原生JS。最近阅读了一篇文章,文章测量了本地JS与jQuery元素混合的速度差异。在一个小应用程序中并不重要,但可以累积数月/数年的编码。@ltrainpr:那你为什么要混合使用jQuery和“香草JS”?使用其中一种,不要混搭。如果您只是想忽略jQuery而使用原生DOM方法,那么为什么要浪费时间在jQuery上呢?如果不使用jQuery方法,调用jQuery构造函数是浪费时间。另请参见:在JavaScript中,您的意思是。jQuery不是一种语言,你的意思是用JavaScript。jQuery不是一种语言。好吧,那太快了。谢谢你提供了一个解决问题的方法。好的,很快。感谢您提供了解决此问题的方法。