admin管理员组

文章数量:1291763

This is my script:

<script>
/*jslint browser:true */
var i;
var out = document.getElementById("output");
var args = ["aaa", "bbb", "ccc", "ddd", 1, 2, 4 + 4];
function displayArgs() {
    "use strict";
    for (i = 0; i < args.length; i++) {
        out.appendChild(document.createTextNode(args[i] + "<br>"));
    }
}

displayArgs(args);
</script>

my output so far all appears on a single line with the break tags showing rather than b

This is my script:

<script>
/*jslint browser:true */
var i;
var out = document.getElementById("output");
var args = ["aaa", "bbb", "ccc", "ddd", 1, 2, 4 + 4];
function displayArgs() {
    "use strict";
    for (i = 0; i < args.length; i++) {
        out.appendChild(document.createTextNode(args[i] + "<br>"));
    }
}

displayArgs(args);
</script>

my output so far all appears on a single line with the break tags showing rather than b

Share Improve this question edited Oct 24, 2012 at 0:37 raina77ow 106k16 gold badges202 silver badges235 bronze badges asked Oct 24, 2012 at 0:36 jimeastjimeast 2771 gold badge2 silver badges13 bronze badges 0
Add a comment  | 

3 Answers 3

Reset to default 20

document.createTextNode prevents text from being rendered as html. Try this instead.

/*jslint browser:true */
var i;
var out = document.getElementById("output");
var args = ["aaa", "bbb", "ccc", "ddd", 1, 2, 4 + 4];
function displayArgs() {
    "use strict";
    for (i = 0; i < args.length; i++) {
        out.appendChild(document.createTextNode(args[i]));
        out.appendChild(document.createElement("br"));
    }
}
displayArgs(args);

Demo: http://jsfiddle.net/LVm9z/

You are creating a text node, so html tags are ignored. Use document.createElement instead:

var myDiv = document.createElement("div");
myDiv.id = 'myDiv';
myDiv.innerHTML = 'blah!<br/>';
document.body.appendChild(myDiv);

A text node is a text node, if it contains a <br> (or any HTML), it won't be parsed as HTML, as a text node's data is only treated as text.

You could add...

out.appendChild(document.createElement("br"));

本文标签: javascripttrying to add linebreak inside create text node methodStack Overflow