jQuery元素上的加号或减号不起作用.为什么?
Plus or minus equals on jQuery element does not work. Why?
运行时:
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方法,但我一直试图在可能的情况下将本机javascript与jQuery元素一起使用。
+=
可以用于字符串串联,但一旦将字符串添加到数字中,整个变量就会变成字符串,因此不能使用-=
,因为无法从字符串中减去字符串。
如果你只想使用javascript,我建议你使用.replace("old","new")
示例:
console.log($('.' + menu_id)[0].className.replace("hide-left", ""));
因为-
不能做到这一点。它做数字减法。className
不是数字,'main-mobile-menu'
也不是数字,结果不是数字。
在JavaScript/Jquery中,+
用于连接字符串,但-
可以用于int上的算术运算,但不能用于字符串。
相关文章:
- Js.erb VS按钮标记-不'不起作用.为什么?
- 我的jquery代码不起作用.为什么?
- 代码在firefox中运行良好,但在chrome中不起作用.为什么?
- 谷歌地图 JS API v3:使用 containsLocation() 获取圆圈标记不起作用 - 为什么
- 为函数中的现有数组(全局变量)分配新值不起作用.为什么
- Firefox Addon Builder首选项-服务对我不起作用--为什么
- 将D3函数封装在对象内部;不起作用.为什么?
- 敲除绑定处理程序不起作用:为什么
- I'我试图让jquery在我的chrome扩展的background.js中工作,结果成功了;不起作用.为什么?
- blueimp 文件上传插件中的 max文件大小和接受文件类型不起作用.为什么
- 我有两个具有相同代码的不同域,但其中一个不起作用.为什么
- 简单的HTML/CSS选项卡导航在Safari 9中不起作用.为什么
- Jquery focus()和blur()对我的href不起作用.为什么
- 承诺链不起作用.为什么
- 返回页首滚动jquery在chrome中不起作用.为什么?它在firefox中运行良好
- 为什么是宽度100%的html代码全栏不工作,当我写.忘了那个吧,连复制粘贴都不起作用.为什么
- 使用for循环在数组中查找字符串是有效的,但是这里的forEach()不起作用.为什么以及如何纠正
- 附加html上的preventDefault()不起作用.为什么?
- jQuery元素上的加号或减号不起作用.为什么?
- jquery的正则表达式选择器不起作用.为什么