Comment créer une nouvelle ligne en Javascript?

121
var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   /document.write(?);

}

J'imprime une pyramide d'étoiles, je n'arrive pas à faire imprimer la nouvelle ligne.

Technupe
la source
5
document.write ("<br>"); // si vous utilisez un .html
jasonleonhard
Sujet connexe ici .
RBT le

Réponses:

195

Utilisez le \npour un caractère de nouvelle ligne.

document.write("\n");

Vous pouvez également en avoir plusieurs:

document.write("\n\n\n"); // 3 new lines!  My oh my!

Cependant, s'il s'agit d'un rendu au format HTML, vous souhaiterez utiliser la balise HTML pour une nouvelle ligne:

document.write("<br>");

La chaîne Hello\n\nTestde votre source ressemblera à ceci:

Hello!

Test

La chaîne Hello<br><br>Testressemblera à ceci dans la source HTML:

Hello<br><br>Test

Le HTML sera rendu sous forme de sauts de ligne pour la personne qui visualise la page, le \ntexte dépose simplement le texte à la ligne suivante dans la source (si c'est sur une page HTML).

Tom Gullen
la source
5
Par définition, si l'OP utilise document.write, c'est une page HTML, pas une page XHTML. <br>est le saut de ligne correct pour une page HTML. <br />est XHTML.
TJ Crowder
1
<br> incroyable Merci beaucoup
Jeya Suriya Muthumari
31

que diriez-vous:

document.write ("<br>");

(en supposant que vous soyez dans une page html, car un saut de ligne seul ne s'affichera que sous forme d'espace)

Rob
la source
9

Utilisez une <br>balise pour créer un saut de ligne dans le document

document.write("<br>");

Voici un exemple de violon

JaredPar
la source
1
+1 car cela semble être ce que l'OP recherche vraiment :) (br vs \ n)
Demian Brecht
Comment le sais-tu? C'est bien de souligner BR, mais un PRE aurait pu tout aussi bien y figurer. S'ils construisent de l'art ASCII, je pense que c'est du texte en clair.
Jared Farrish
@Jared: Comment appelle-t-on document.writeun document en texte brut? (Par exemple, comment insérez-vous la scriptbalise?) Un bon point à propos du pre, cependant, pourrait facilement être une presection.
TJ Crowder
@TJ - L'affichage est en clair, comme dans l'art ASCII. C'est toujours un document HTML, bien qu'il ne le montre que sous forme d'affichage en texte brut.
Jared Farrish
@Jared: Ouais, j'ai compris votre point. (Je pensais que votre autre partie concernait un text/plaindoc, mais je pense que j'étais clair sur le prefait que c'était un bon point.)
TJ Crowder
4

Utilisez "\n":

document.write("\n");

Notez qu'il doit être entouré de guillemets doubles pour être interprété comme une nouvelle ligne. Non, ce n'est pas le cas.

Jared Farrish
la source
1
La sortie d'une nouvelle ligne dans une page HTML n'introduira pas de nouvelle ligne dans un document HTML. (Et il n'est pas nécessaire que ce soit des guillemets doubles, les guillemets simples conviennent également.)
TJ Crowder
@TJ - À moins qu'il y ait un PRE impliqué?
Jared Farrish le
Ooh, sauf pour votre commentaire sur une autre réponse à propos d'un preélément. Bon point. Si la sortie de l'art ASCII dans une presection, \npeut bien être la bonne chose ... (Edit: LOL, superposition de commentaires.)
TJ Crowder
@TJ Crowder - Voici un exemple de ce que je voulais dire (grossièrement développé): jsfiddle.net/wT3Ab
Jared Farrish
@Jared: Oh, votre commentaire preétait parfaitement clair. (Fermé le tag pour vous: jsfiddle.net/wT3Ab/1 ) Best,
TJ Crowder
3

document.writeln()est ce que vous recherchez ou document.write('\n' + 'words')si vous recherchez plus de granularité lorsque la nouvelle ligne est utilisée

Acconrad
la source
2

Vous pouvez également écrire dans un élément avec le CSS white-space: preet l'utiliser \npour le caractère de nouvelle ligne.

Alex
la source
Merci! C'était proche et white-space: pre-wrapj'ai fait exactement ce que je voulais! w3schools.com/cssref/pr_text_white-space.asp
frederj
2

Pour créer une nouvelle ligne, le symbole est '\ n'

var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   document.write('\n');

}

Si vous sortez sur la page, vous voudrez utiliser à la "<br/>"place de '/n';

Échapper les personnages en JavaScript

kemiller2002
la source
Il n'est pas nécessaire que ce soit entre guillemets?
Jared Farrish
5
Les guillemets doubles et simples ne sont pas identiques en JavaScript. Vous ne pouvez tout simplement pas commencer par un guillemet double et terminer par un seul.
kemiller2002
Eh bien, je le sais. Je ne savais pas que les simples et les doubles étaient traités de la même manière en JS. Doit être bloqué en PHP.
Jared Farrish
Passer d'une langue à l'autre est toujours
pénible
Bon à savoir, merci. Apprenez quelque chose de nouveau tous les jours. :) Erreur inoffensive, probablement.
Jared Farrish
2

Dans la page html:

document.write("<br>"); 

mais si vous êtes dans un fichier JavaScript, cela fonctionnera comme une nouvelle ligne:

document.write("\n");
Suhani Mendapara
la source
1

Pour une chaîne, je viens d'écrire "\n"pour me donner une nouvelle ligne. Par exemple, en tapant console.log("First Name: Rex" + "\n" + "Last Name: Blythe");Will tapez:

Prénom: Rex

Nom: Blythe

Tito E Surek
la source
1

vous pouvez aussi pyramide d'étoiles comme celle-ci

for (var i = 5; i >= 1; i--) {
     var py = "";
     for (var j = i; j >= 1; j--) {
         py += j;

     }
     console.log(py);
 }
Shadab Ali
la source
0

\ n -> le caractère de nouvelle ligne ne fonctionne pas pour insérer une nouvelle ligne.

    str="Hello!!";
    document.write(str);
    document.write("\n");
    document.write(str);

Mais si nous utilisons le code ci-dessous, cela fonctionne bien et cela donne une nouvelle ligne.

    document.write(str);
    document.write("<br>");
    document.write(str);

Remarque: j'ai essayé dans Visual Studio Code .

VicXj
la source
Cela suppose que le texte sera affiché au format HTML. Pas de suf si c'est vraiment une réponse générique ici.
GhostCat
0

votre solution est

var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //printing new line
   document.write("<br>");
}
Adeojo Emmanuel IMM
la source
-1

\ n ne fonctionne pas. Utilisez des balises HTML

document.write("<br>");
document.write("?");
Paradoxe Nafi
la source
-1

Si vous utilisez un fichier JavaScript (.js), utilisez document.write("\n");. Si vous êtes dans un fichier html (.html ou. Htm), utilisez document.write("<br/>");.

Un panda codant
la source
-1
document.write("\n");

ne fonctionnera pas si vous l'exécutez ( document.write();) plusieurs fois.

Je vous suggère d'aller pour:

document.write("<br>");

PS Je sais que les gens ont déclaré cette réponse ci-dessus mais n'ont trouvé la différence nulle part donc :)


la source
-1

Essayez d'écrire votre code entre la balise HTML pre.

Polo Macario
la source
veuillez également ajouter du code. il vaudrait mieux comprendre
Shashin Bhayani
-1

Vous pouvez utiliser le lien ci-dessous: Nouvelle ligne en javascript

  var i;
for(i=10; i>=0; i= i-1){
   var s;
   for(s=0; s<i; s = s+1){
    document.write("*");
   }
   //i want this to print a new line
   /document.write('<br>');

}
Nagnath Mungade
la source
1
Votre lien est rompu et votre exemple de code ne dit rien de ce que la réponse acceptée de 2011 ne dit pas déjà.
Quentin
Eh bien, le lien est corrigé, mais il pointe vers une démo sans explication et vous ne dites toujours rien déjà dit en 2011.
Quentin