更新for循环中的<div> </div>

时间:2014-07-11 03:05:49

标签: javascript html file-io

我正在尝试使用html和javascript代码逐行打印出文本文件。我的代码是:

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc()
    {
        var xhr, i, text, lines;

        if(window.XMLHttpRequest)
        {
            // IE7+, Firefox, Chrome, Opera, Safari
            xhr = new XMLHttpRequest();
        }
        else
        {
            // IE5, IE6  - next line supports these dinosaurs
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }

        xhr.onreadystatechange = function()
        {
            if(xhr.readyState == 4 && xhr.status == 200)
            {
                text = xhr.responseText;
                lines = text.split("\n"); 

                for(i = 1; i < lines.length; i++)
                { 
                    document.getElementById("myDiv").innerHTML = document.getElementById("myDiv").innerHTML + "\n" + lines[i];
                }
            }
        }

        xhr.open("GET","File.txt",true);
        xhr.send();
    }
</script>
</head>
<body>

<div id="myDiv"><h2></h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

我想到这一行:

document.getElementById("myDiv").innerHTML = document.getElementById("myDiv").innerHTML + "\n" + lines[i];

将采取当前的新内容,发布一个新行,并从文本文件中发布新行。问题是当我在浏览器中运行它时(或者我认为不是)发布新行,只是用空格水平发布它。

有什么想法吗? 感谢

3 个答案:

答案 0 :(得分:1)

您可以使用此

中的1个
xhr.onreadystatechange = function()
{
    if(xhr.readyState == 4 && xhr.status == 200)
    {
        text = xhr.responseText;
        lines = text.split("\n"); 

        for(i = 1; i < lines.length; i++)
        { 
            document.getElementById("myDiv").innerHTML = document.getElementById("myDiv").innerHTML + "<br>" + lines[i];
        }
    }
}

xhr.onreadystatechange = function()
{
    if(xhr.readyState == 4 && xhr.status == 200)
    {
        document.getElementById("myDiv").innerHTML = document.getElementById("myDiv").innerHTML + xhr.responseText.replace(/[\r\n]/g, "<br>");

    }
}

答案 1 :(得分:0)

HTML中的新行表示换行符(<br>)。将你的\ n更改为,你应该没事。

答案 2 :(得分:0)

最多HTML 4 br

HTML 5
或br /是好的

在XHTML br /