IF / ELSE $(文件).ready声明

时间:2017-06-04 13:43:48

标签: jquery

我尝试编写一些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();}}

任何人都可以看到我的代码有什么问题吗?

2 个答案:

答案 0 :(得分:2)

if (removed = false)

这是错误的,您将false的值重新分配给变量。

if(removed === false)

您应该使用比较运算符

https://www.w3schools.com/js/js_comparisons.asp

答案 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();
});