Вопрос по html, javascript – Экранирующий символ NewLine не работает

6

Мы знаем, что \ n используется для подачи новой строки в JavaScript.
Как мне использовать его для вывода (в цикле for):

str=prompt("Enter any string!");
    for(i=0;i<str.length;i++)
    {
        document.write('\n'+str.charCodeAt(i));
    }   

или же

str=prompt("Enter any string!");
    for(i=0;i<str.length;i++)
    {
        document.write('\n'+str.charCodeAt(i));
    }

Ни то, ни другое не работает.

Ваш Ответ

3   ответа
0

Метод writeln () идентичен методу write () с добавлением записи символа новой строки после каждого оператора.

попробуй это

 str=prompt("Enter any string!");
 for(i=0;i<str.length;i++)
 {
    document.writeln(str.charCodeAt(i));
 } 
0

Если вы пишете документ, который вам нуженdocument.write('<br/>'+str.charCodeAt(i)); - или установить ваш вывод в<pre> тег (или другой элемент с атрибутом стиляwhite-space:pre).

И я должен использовать одинарные кавычки или двойные? Есть ли у нас рекомендации по этому поводу (я должен использовать HTML 4.01 строго)? pop stack
@popstack:<br/> XHTML-версия<br>, Поскольку вы не используете XHTML, вы просто используете<br>, (Откуда я знаю, что вы не используете XHTML? Потому что вы используетеdocument.write, который вы не можете использовать в XHTML.)
Вы можете использовать либо - самозакрывающийся<br/> действует для всех типов документов, тогда как<br> будет недействительным для типа документа XHTML
JavaScript будет принимать либо" или же' до тех пор, пока вы используете одну и ту же кавычку на каждом конце строки
@ Майки:Grr, strikethrough doesn't work in comments. Pretend you see strikethrough as indicated. & Lt; & s GT;<br/> не действует в HTML4 и более ранних версиях. Браузеры это терпят, но это неправильно. В HTML5 есть специальный случай синтаксического анализа, специально разрешающий его (потому что люди продолжали неправильно использовать его в документах HTML). & Lt; / s & gt; Возможно, мне придется забрать это обратно, я только что попробовал валидатор, говорящий ему использовать строгий HTML 4.01, и он пропустил его. Мог бы иметьsworn это не было действительным.
22

ереводы строк) свернуты и рассматриваются как один пробел.

Чтобы сделать разрыв строки в HTML:

Use <br> Or organize your text into paragraphs with <p>...</p>, etc.) Or if you're outputting some form of formatted text (like code), you can do that in a <pre>...</pre> element (or any element with the white-space: pre, white-space: pre-wrap, or white-space: pre-line style applied to it).
Я вижу, зачем тогда \ n? Используется ли он когда-либо как я? pop stack
Согласовано. Вы можете хотеть, чтобы ваш исходный код был напечатан чисто. Даже при отображении HTML просмотр исходного кода будет обрабатывать пробелы иначе, чем вывод HTML на страницу.
@popstack: JavaScript не ограничивается работой с HTML; это язык общего назначения. (Первоначально даже не предназначенный для веб-браузеров, а скорее для вебserver; но затем он был быстро добавлен в Netscape Navigator, а остальное уже история.) При работе с другими вещами\n может быть разрыв строки. Например, даже в браузерах,alert("Foo\nbar"); показывает две строки в окне предупреждения, потому что текст, который вы даетеalert не является HTML.

Похожие вопросы