Javascript 跳过innerHTML中的空值
在使用.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
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)