首页 > 解决方案 > 条件或语句的困难

问题描述

我正在迭代HTMLCollection寻找innerText是否有innerText我会知道页面上有错误。但是,在某些情况下innerText === undefined和其他时候innerText === "",我的 if 块中有一个 or 语句。

我的想法是这应该很简单:

if(err_field[field].innerText !== undefined || err_field[field].innerText !== ""){
      no_error = false;
    }

这不起作用,我可以注销innerText每个字段并清楚地看到它们都是undefinedor 或""

因此,在弄乱了半小时的变体之后,我改变了策略:

    if (err_field[field].innerText === undefined || err_field[field].innerText === "") {
    }else {
      no_error = false;
    }

这行得通。为什么?据我所知,这只是上述内容的反面,包括更多开销和不必要的else声明。我错过了什么吗?我已经尝试了几种变体,包括除了上面的示例之外没有任何效果if (err_field[field].innerText || ...)if (err_field[field].innerText != null || ...)

标签: javascript

解决方案


使用您发布的第一个块,而不是 OR 使用 AND 条件,只有这样您才能确保当前元素没有innerText.


推荐阅读