下面是我用来获取已知类或 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/