我喜欢JQuery和下一个人一样,但我想用JavaScript完成这个任务。我一直在搜索互联网,我所能找到的只是JQuery解决方案和一些破解的非工作JavaScript。 This是我能找到的最干净的,但它似乎并没有为任何人工作,但看起来确实很老。我甚至无法将自己的大脑包裹起来,将变量设置为赋值。
无论如何,我把代码放在JsFiddle
中,因此很容易操作。
这只是JS中过于复杂的任务之一,但是JQuery会进来并完全简化它吗?
谢谢!
答案 0 :(得分:5)
...... *是*
element.disabled = !element.disabled;
这应该是非常明显的,但也许你是JS新手或一般编程所以我会尝试解释你的代码中的一些基本错误:
确实你确实分配了一个变量,但从未使用它,也许你的意思是这样的
element.disabled = element.disabled ? false : true;
虽然这可能会起作用,但它仍然过于冗长,你是一名程序员,认为聪明!
那就是!
(布尔值否定)的用法,因为你要切换一个布尔值,你也可以用not / negate运算符来否定当前状态,例如。
element.disabled = !element.disabled;
这很常见,并且存在于大多数(如果不是全部)编程语言中,在JS中它自动将值转换为布尔值true / false,如果您还不熟悉它,则应该在javascript中读取类型强制。< / p>
我想这是特定于实现的,但我会假设内部javascript使用getter / setter,虽然它们不存在于javascript中......但是,这将随ECMA6而改变!