Javascript 跳过innerHTML中的空值

Javascript 跳过innerHTML中的空值,javascript,null,innerhtml,Javascript,Null,Innerhtml,在使用.innerHTML时,我很难跳过空值。我有如下内容: var inputLastIndexValue = document.getElementById("FileCount").innerHTML; var inputArray = []; for(var indexCounter = 0; indexCounter <= inputLastIndexValue; indexCounter++){ var elementID = indexCounter + ".Fil

在使用.innerHTML时,我很难跳过空值。我有如下内容:

var inputLastIndexValue = document.getElementById("FileCount").innerHTML;
var inputArray = [];

for(var indexCounter = 0; indexCounter <= inputLastIndexValue; indexCounter++){
    var elementID = indexCounter + ".File";
        console.log("ElementID: " + elementID);

        if(document.getElementById(elementID).innerHTML)
        {
            inputArray[indexCounter] =  document.getElementById(elementID).innerHTML;;
            console.log(inputArray[indexCounter] + ":" + indexCounter);

        }
var inputLastIndexValue=document.getElementById(“FileCount”).innerHTML;
变量输入阵列=[];

对于(var indexCounter=0;indexCounter,正如错误试图告诉您的那样,如果
document.getElementById(elementID)
为空,则无法访问
document.getElementById(elementID)


您需要检查元素本身是否存在。

这里值得注意的是,在javascript中,如果前面的比较为true,则忽略后面的比较。因此,您可以运行比较以查看外部比较是否为null&然后检查同一if语句中的内部比较是否为null,如果外部比较为null,则不会触发null错误,只要当您在同一语句中按顺序检查它们时。@joshstrike:但是,他的
innerHTML
可能永远不会是空的。您的意思是通过以这种方式更改代码来检查它吗?
if(typeof document.getElementById(elementID)!='undefined'&&document.getElementById(elementID.innerHTML)
@poplane:
getElementById
返回
null
,而不是
未定义的
。只要
if(getElementById(…)
就足够了(因为
null
是假的)。好的,所以OP需要将条件更改为
if(document.getElementById(elementID)和&document.getElementById(elementID).innerHTML)