换行符用于console.log()但不是chrome浏览器

时间:2014-01-22 22:30:09

标签: javascript jquery windows

我在每次迭代后将数组中的一串字符串连同一个新行字符连接起来:

booksList = booksList + library.shelves[i].books[j].name + ", " +
   library.shelves[i].books[j].author + '\n';

当我将console.log()转换为chrome时,它可以工作,但是当我使用jquery来设置div的文本时,它不会。我正在使用Windows comp。有什么想法吗?

我正在使用jquery将booksList设置为div的文本:

$('#libraryDisplay').text(booksList);

3 个答案:

答案 0 :(得分:4)

您可以在div上添加样式:

$('#libraryDisplay').css('white-space', 'pre-wrap');

当然<br>也可以像以前一样回答:

答案 1 :(得分:2)

您应该将<br>用于HTML中的新行。 HTML中使用了空格和新行来格式化代码并使其具有人类可读性,并且对标记本身没有太大作用。

你还应该使用jquery的html()函数将html插入页面,因为text()在某种程度上像htmlspecialchars一样,用文本替换所有创建html标记的符号变体。

booksList = booksList + library.shelves[i].books[j].name + ", " +
                   library.shelves[i].books[j].author + '<br>';

$('#libraryDisplay').html(booksList);

答案 2 :(得分:1)

尝试使用

<br>

而不是\ n。