EDIT resolvedПочему моя n новая строка не работает?
Интересно, почему следующий код не работает - нет новой строки «произведено» У кого-нибудь есть идея? Благодаря
$('#results').append("Try again! \n I believe in you");
EDIT resolvedПочему моя n новая строка не работает?
Интересно, почему следующий код не работает - нет новой строки «произведено» У кого-нибудь есть идея? Благодаря
$('#results').append("Try again! \n I believe in you");
Это в HTML, вам нужно использовать переносы строк, <br>
, а не переводы строк.
'\ n' будет работать нормально, если вы используете'
', или если вы используйте 'white-space: pre' в CSS Вы также можете использовать 'white-space: pre-line', чтобы игнорировать пробелы, которые не являются типом новой строки, например' \ n' – njfifeБелые пространства не разбиваются на html, они сворачиваются в одно отображаемое пробелы, отображаемое как . Если вы хотите сделать перерыв в HTML, вы должны использовать перерыв тег
<br>
$('#results').append("Try again! <br> I believe in you");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="results"></div>
Спасибо! Теперь! – learningcoding
Вы должны выбрать ответ btw, если это было нужное вам решение, это будет тот, который вы должны выбрать. Если бы это был другой, тогда вы должны перенести его и пометить как правильное. – njfife
Я предполагаю, что вы делаете вызов AJAX или что-то и результаты содержат «\ п 'и вы не можете его изменить?
Это хорошо, в HTML-файлах, таких как \ n и пробелы, игнорируются, если вы явно не заявляете, что хотите использовать пробелы.
Существует два основных способа сделать это.
первых, с <pre>
тегом
$(function() {
$('#results').append("Try again! \n I believe in you");
})
<html>
<head>
<script data-require="[email protected]*" data-semver="2.2.0" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<pre id="results"></pre>
</body>
</html>
Второй (лучший способ) это с помощью CSS, используя white-space
В следующем примере я использую white-space:pre-line
этом сохранит только ваши \ n или новые строки
$(function() {
$('#results').append("Try again! \n I believe in you");
})
<html>
<head>
<script data-require="[email protected]*" data-semver="2.2.0" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<div style = "white-space: pre-line" id="results"></div>
</body>
</html>
Обратите внимание, что второй один использует стандартный <div>
, запускает новую линию и не сохраняет лишние пробелы после \ п? Это может быть больше того, что вы ищете. Вы также можете установить его на white-space:pre
, а div должен вести себя как <pre></pre>
с точки зрения пробела и новых линий.
white-space
имеет много вариантов:
белого пространства: нормальная | Nowrap | до | до линии | предварительно обертывание | начальный | унаследует;
Это должно предоставить вам то, что вам нужно.
Возможно, вам придется использовать Javascript для дезинфекции текста, если вы ищете очень конкретный формат.
Есть другие способы получить перерывы в тексте, но если вы специально используете \n
, то это единственные два способа, которые я знаю, чтобы сделать это.
Надеюсь, это поможет!
Возможный дубликат: http://stackoverflow.com/questions/1155678/javascript-string-newline-character?rq=1 –
Возможная Дубликат [Предоставление новых строк в сбежавшего HTML] (http://stackoverflow.com/ вопросы/12694110/rendering-newlines-in-escaped-html) –
Если это было решено, тогда вы должны выбрать ответ, а не просто отредактировать исходный вопрос. – njfife