Je suis en train de coder un simple programme javascript, et j'ai trouvé que lorsque j'utilise \ n
dans le document.write ("");
, cela ne fait pas une nouvelle ligne. Lorsque j'utilise la balise br >, cela fonctionne.
Je veux savoir pourquoi \ n
ne parvient pas à créer une nouvelle ligne et br > en fait un.
Remarque: Je suis complètement nouveau en Javascript ...
Mon Javascript utilise br :
<body> <h1>Foo App</h1> <script charset="utf-8"> var input = null; input = prompt("Enter something: "); for (var i = 0; i < 10; i++) { document.write("Your input: " + input + "\n\n"); } </script> </body>
Sortie:
Mon javascript utilisant \n
:
<head> <style> </style> </head> <body> <h1>Foo App</h1> <script charset="utf-8"> var input = null; input = prompt("Enter something: "); for (var i = 0; i < 10; i++) { document.write("Your input: " + input + "<br><br>"); } </script> </body>
Output:
4 Réponses :
document.write ()
écrit un bloc de HTML. Et en HTML,
crée une nouvelle ligne. Par conséquent, si vous souhaitez créer une nouvelle ligne lorsque vous utilisez
document.write ()
, vous devrez utiliser
Document.write
crée un balisage HTML, pas du texte brut. En HTML, une nouvelle ligne est représentée par un élément
. Si vous écriviez dans la console du navigateur, vous ne créeriez pas de balisage HTML, le caractère de nouvelle ligne "\ n" serait donc approprié.
Comme le dit @mrid, lorsque vous utilisez document.write ('HTML AS STRING')
est pour écrire du code HTML sous forme de chaîne, donc lorsque vous utilisez un \ n
n'est pas une entité HTML, vous pouvez donc utiliser la balise html
pour écrire une nouvelle ligne ou utiliser un code html d'entité comme
& NewLine;
dans votre code. p >
Consultez la liste officielle des entités HTML pour une référence rapide.
/ p>
<!DOCTYPE html> <html lang="en-GB"> <head> <meta charset="utf-8"> <style> body { white-space: pre-wrap; } </style> </head> The style white-space: pre-wrap will show up the '\n'âs as newlines. This is the way HTML works it is not a problem with the JavaScript.
Cela n'a rien à voir avec javascript, c'est comme ça que fonctionne le HTML.
Ok, mais j'aimerais savoir pourquoi il fait ça.
Parce que la fonction document.write () écrit du HTML dans l'élément
Différent avec cette condition,: console.log ('iam \ nprogrammer'). C'est écrire du javascript, pas du html (par exemple)
et parce que HTML ne considère pas les sauts de ligne dans le code comme des sauts de ligne dans l ' affichage , car cela signifierait que vous ne pourriez pas utiliser de sauts de ligne pour organiser votre code
\ n
est simplement ignoré en tant qu'espace blanc, vous les verrez cependant lors de l'affichage de la source\ n n'est pas du balisage, c'est un caractère. Si vous voulez voir \ n couper une ligne, enveloppez votre sortie dans une balise préformatée. (
Oui, ajouter