我尝试编写一些jQuery来删除一次选择框的默认选项。目前$("#edit-field option:selected").remove(); removed = true;};
正在运行,但我无法将其放入if / else语句中。
$(document).ready (function remove() {
"use strict";
var removed = false;
if (removed = false) {
$("#edit-field option:selected").remove(); removed = true;}; else {
remove();}}
任何人都可以看到我的代码有什么问题吗?
答案 0 :(得分:2)
if (removed = false)
这是错误的,您将false的值重新分配给变量。
if(removed === false)
您应该使用比较运算符
答案 1 :(得分:2)
您的错误是一个非常常见的初学者错误。
=
总是分配一个值,您无法在比较中使用它。使用==
或===
来比较值。所以简单的修复就是:
if(removed === false)
但...... if (x == true) ...
或if (x == false) ...
之类的比较是一种反模式。不要这样做。 if (x) ...
或if (!x) ...
就足够了。
此外,您的整个代码都是多余的。不要保留一个全局变量来存储您是否删除了某些内容。这没有必要。
当你试图删除两次,或尝试删除根本不存在的东西时,jQuery不会产生错误。这很多更好:$(document).ready(function remove() {
$("#edit-field option:selected").remove();
});