Вопрос

У меня длинный фрагмент HTML-кода. Я хочу, чтобы некоторая переменная javascript была равна, и для удобства обслуживания я хочу сохранить ее с реальными символами новой строки вместо добавления \ n (или, поскольку это HTML, просто без символов новой строки). В Python я бы сделал что-то вроде:

largeString = """Hello
This is long!"""

И это сработало бы отлично. Однако я не видел способа сделать это в JavaScript.

Дополнительная информация: javascript находится во внешнем файле .js, а фрагмент кода действительно довольно большой (~ 6 КБ).

Это было полезно?

Решение

Поставьте \ в конце каждой строки. Либо сохраните его в div с display: none, а затем используйте .html (), чтобы получить его

Другие советы

JavaScript не поддерживает многострочные строки одинаково.

Вы можете использовать \ для экранирования новой строки для вашего скрипта, но это только для чтения разработчиком, так как он не останется со строкой (и большинство валидаторов выдают за нее ошибки). Чтобы сохранить новую строку вместе со строкой, вам все равно потребуется использовать \n.

Если вы хотите удобочитаемости, вы можете объединить их:

var largeString = '"Hello\n\
This is long!"';

Это будет работать в Firefox, IE, Safari и Chrome:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" largeString='Hello
This is long!'
></div>
<script type="text/javascript">
    alert($(".crazy_idea").attr("largeString"));
</script>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top