javascript - If 语句检查不为空被忽略

标签 javascript

下面是我用来获取已知类或 id 的图像的 href 或 src 的代码的一部分。 console.log() 返回 null,即使它位于 if 语句中,检查稍后使用的属性不为 null。 当然,尝试获取 null 的 href 或 src 不会有好结果。

for(var i = 0 ; (i < sitelist[site].img_id.length) && (img === undefined) ; i++)
{
    if(document.getElementById(sitelist[site].img_id[i]) !== undefined)
    {
        if(document.getElementById(sitelist[site].img_id[i]) !== null)
        {
            console.log(document.getElementById(sitelist[site].img_class[i]));
            if(document.getElementById(sitelist[site].img_class[i]).href !== undefined)
            {
                img =   document.getElementById(sitelist[site].img_class[i]).href;
            }
            if(document.getElementById(sitelist[site].img_class[i]).src !== undefined)
            {
                img =   document.getElementById(sitelist[site].img_class[i]).src;
            }
        }
    }
}

是否有特定的方法来检查某些内容是否为空,或者问题是否在其他地方?

最佳答案

您可以尝试以下代码。

替换

if (document.getElementById(sitelist[site].img_id[i]) !== undefined) {
    if (document.getElementById(sitelist[site].img_id[i]) !== null) {
        // ...
    }
}

if (document.getElementById(sitelist[site].img_id[i])) {
    // process here
}

您在下一条语句中连续检查 null 和 undefined。您可以仅尝试使用元素。

关于javascript - If 语句检查不为空被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692008/

相关文章:

javascript - 从最近的表格行中查找 textarea 的值

Javascript将对象放入数组中

javascript - 如何在 JavaScript 中使用条件从数组中打印键值属性?

javascript - 在内容脚本收到响应之前阻止上下文菜单启动

javascript - 如何将我的 + 按钮移动到我的网页右侧?

javascript - Ajax 和状态 302

javascript - 使用 redux-thunk 和 redux-observable

Javascript:参数未定义?

javascript - jQuery 库中使用的设计模式

javascript - 如何在Electron主js脚本中调用Webpack捆绑的函数