Написание HTML кода в несколько строк
Всем привет!
Ребят, подскажите, можно ли сделать перенос на несколько строк? Вот код
var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p><p>Текст2.</p>';
Он работает, всё хорошо, но в одну строку писать HTML как-то нечитаемо получается, тогда я сделала так
var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p>
<p>Текст2.</p>';
Так скрипт получается нерабочий. Ошибка из-за переноса строки. Буду благодарна за любую помощь :thanks: Я только начинаю изучать Javascript, извините, если вопрос кому-то показался слишком простым. |
var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p>\
<p>Текст2.</p>';
|
j0hnik, спасибо.
Скажите, а это во всех современных браузерах будет работать? |
Валерия_05, так будет работать вообще во всех, а во всех современых будет работать вот так:
var myNewElement = document.createElement('div');
myNewElement.innerHTML = `<p>Текст1.</p>
<p>Текст2.</p>`;
:) |
Aetae, j0hnik ребят, огромное спасибо!
Вы даже не представляете как помогли. А то я уже устала выстраивать HTML в одну строку )) |
Валерия_05,
\ во всех Шаблонные строки - `` в современных |
Можно еще так:
var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p>' +
'<p>Текст2.</p>';
|
Ну давайте все дедовские методы теперь перечислять:)
function multiline(source){
source = source.toString();
return source.slice(
source.indexOf('/*') + 2,
source.lastIndexOf('*/')
)
}
var myNewElement = document.createElement('div');
myNewElement.innerHTML = multiline(function(){/*
<p>Текст1.</p>
<p>Текст2.</p>
*/});
<script type="tepmplate" id="text">
<p>Текст1.</p>
<p>Текст2.</p>
</script>
<script type="text/javascript">
var myNewElement = document.createElement('div');
myNewElement.innerHTML = text.innerHTML;
</script>
|
безумие
var myNewElement = document.createElement('div');
myNewElement.innerHTML =
['<p>Текст1.</p>',
'<p>Текст2.</p>'].join('');
|
j0hnik, Aetae, мне больше всего понравился вот этот способ - ``
На первый взгляд вообще супер. Как я поняла, таким образом хоть всю HTML страницу оберни и больше никаких лишних телодвижений не требуется))) Это же удобно! Или же не всё так гладко? Экранировать дополнительно нужно будет какие-то символы? И мало ли знаете, где можно посмотреть в каких браузерах поддерживается такой вариант, направьте пожалуйста ссылкой на путь истинный. |
Цитата:
|
Цитата:
Цитата:
|
Если вкратце то экранировать для `` нужно "`", "$" и "\".
Вот в дедовских методах вообще не нужно никакое экранирование, только в первом принципиально нельзя ставить "*/", а во втором "</script>".) |
| Часовой пояс GMT +3, время: 12:54. |