无法在javascript棋盘中获得换行符

Unable to get newline in javascript checkerboard

本文关键字:换行符 javascript      更新时间:2023-09-26

我环顾四周,不明白为什么这段代码不工作。它应该只是一个棋盘,但我得到了一行符号:

应该做的:# # # #

# # #

# # # #

所做的:

# # # # # # #等…

代码

symbol1 = " ";
symbol2 = "#";
for (i=0;i<9;i++){
for (j=0;j<9;j++){
    if (j%2 == 0){
        document.write(symbol2);
}   
    else
        document.write(symbol1);
    document.write("'n");   
}

}

由于要输出到HTML文档,因此'n并不意味着换行符,它只是空白。在HTML中,所有的空格在呈现的输出中只是一个空格。

要输出一个换行符,需要输出一个br元素:

document.write("<br>");

请注意,虽然document.write是很好的小实验等,它在实际的web开发很少的地方。在文档的主解析期间,使用document.writescript标记添加到文档中,但是一旦主解析完成,文档就关闭了。如果您再次使用document.write(例如,在响应事件时),它将隐式执行document.open,清除所有文档内容,然后写入新打开的文档。

但是,如果你只是为了实验和快速学习而运行一些代码,这是可以的,只是要注意它实际做了什么。随着您的进展,您将开始使用DOM(直接使用或通过像jQuery这样的DOM库)。

您正在编写新的行文档,这将无法工作。您需要编写断点标记以呈现为html。像这样:

symbol1 = " ";
symbol2 = "#";
for (i=0;i<9;i++){
for (j=0;j<9;j++){
if (j%2 == 0){
    document.write(symbol2);
}   
else
    document.write(symbol1);
}
document.write("<br/>");
}