1
votes

Pourquoi
crée-t-il une nouvelle ligne et \ n échoue dans JS

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:

 entrez la description de l'image ici

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:

 entrez la description de l'image ici p>


8 commentaires

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


4 Réponses :


3
votes

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


0 commentaires

1
votes

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é.


0 commentaires

1
votes

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.

Consultez la liste officielle des entités HTML pour une référence rapide.

/ p>


0 commentaires

0
votes
<!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.

0 commentaires