Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 写入HTML页面_Javascript_Html_Regex_Angularjs_While Loop - Fatal编程技术网

Javascript 写入HTML页面

Javascript 写入HTML页面,javascript,html,regex,angularjs,while-loop,Javascript,Html,Regex,Angularjs,While Loop,简单来说,我的程序读入一个文件并将其显示在html页面上。下面的代码使用正则表达式读取该文件并提取错误。不必每次都使用console.log并进行调试,是否有任何方法可以将结果写入HTML页面 当我使用: document.getElementById("").innerHTML 它只打印最后一个摘要,而不是打印所有摘要 我试着使用一个控制器和ng repeat(AngularJS)来做这件事,但不知怎么的,我做得不对 有什么想法吗?不一定要用AngularJS while ((match

简单来说,我的程序读入一个文件并将其显示在html页面上。下面的代码使用正则表达式读取该文件并提取错误。不必每次都使用console.log并进行调试,是否有任何方法可以将结果写入HTML页面

当我使用:

document.getElementById("").innerHTML 
它只打印最后一个摘要,而不是打印所有摘要

我试着使用一个控制器和ng repeat(AngularJS)来做这件事,但不知怎么的,我做得不对

有什么想法吗?不一定要用AngularJS

while ((match = reDiaBtoa.exec(reader.result)) != null) {
    if (match.index === reDiaBtoa.lastIndex) {
        reDiaBtoa.lastIndex++;
    }

    // View your result using the match-variable.
    // eg match[0] etc.
    // extracts the status code: ERROR

    if (match[2] === "ERROR" || match[2] === "FATAL" || match[2] === "SEVERE") {
        console.log("Time: " + match[1]);
        console.log("Thread Name: " + match[3]);
        console.log("Source name & line number: " + match[4]);
        console.log("Log Message: " + match[5] + '\n');
        console.log("-----------------------------------------------------------------");
    }
} //end of the while loop ((match = reDiaBtoa.exec.....))
如果你使用

document.getElementById(“someId”).innerHTML=

它将覆盖现有的html

相反,使用


document.getElementById(“someId”).innerHTML+=
在while循环之前创建一个字符串变量,然后在循环中附加到它:

var outputToDisplay = "";
//While loop
outputToDisplay += "Time: " + match[1];
//etc

//End While
document.getElementById(theId).innherHTML = outputToDisplay;

您介意发布您尝试使用angular的代码吗?最好是附加一个文本节点。除非您要附加的内容是一个HTML字符串,否则
x.innerHTML+=…
会被压倒,因为HTML可以做纯文本节点无法做的事情,而且效率低下,因为您要求HTML解析器重建整个内容,只在最后附加。