Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.02.2018, 16:55
Аватар для Валерия_05
Новичок на форуме
Отправить личное сообщение для Валерия_05 Посмотреть профиль Найти все сообщения от Валерия_05
 
Регистрация: 18.02.2018
Сообщений: 9

Написание 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>';

Так скрипт получается нерабочий. Ошибка из-за переноса строки.
Буду благодарна за любую помощь

Я только начинаю изучать Javascript, извините, если вопрос кому-то показался слишком простым.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2018, 16:58
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p>\
<p>Текст2.</p>';
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2018, 17:02
Аватар для Валерия_05
Новичок на форуме
Отправить личное сообщение для Валерия_05 Посмотреть профиль Найти все сообщения от Валерия_05
 
Регистрация: 18.02.2018
Сообщений: 9

j0hnik, спасибо.
Скажите, а это во всех современных браузерах будет работать?
Ответить с цитированием
  #4 (permalink)  
Старый 18.02.2018, 17:28
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,565

Валерия_05, так будет работать вообще во всех, а во всех современых будет работать вот так:
var myNewElement = document.createElement('div');
myNewElement.innerHTML = `<p>Текст1.</p>
<p>Текст2.</p>`;
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2018, 17:34
Аватар для Валерия_05
Новичок на форуме
Отправить личное сообщение для Валерия_05 Посмотреть профиль Найти все сообщения от Валерия_05
 
Регистрация: 18.02.2018
Сообщений: 9

Aetae, j0hnik ребят, огромное спасибо!
Вы даже не представляете как помогли.
А то я уже устала выстраивать HTML в одну строку ))
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2018, 17:42
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Валерия_05,
\ во всех
Шаблонные строки - `` в современных
Ответить с цитированием
  #7 (permalink)  
Старый 18.02.2018, 19:21
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

Можно еще так:
var myNewElement = document.createElement('div');
myNewElement.innerHTML = '<p>Текст1.</p>' +
    '<p>Текст2.</p>';
Ответить с цитированием
  #8 (permalink)  
Старый 19.02.2018, 00:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,565

Ну давайте все дедовские методы теперь перечислять
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>
__________________
29375, 35

Последний раз редактировалось Aetae, 19.02.2018 в 00:53.
Ответить с цитированием
  #9 (permalink)  
Старый 19.02.2018, 01:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

безумие
var myNewElement = document.createElement('div');
		myNewElement.innerHTML = 
		['<p>Текст1.</p>',
		'<p>Текст2.</p>'].join('');
Ответить с цитированием
  #10 (permalink)  
Старый 19.02.2018, 09:53
Аватар для Валерия_05
Новичок на форуме
Отправить личное сообщение для Валерия_05 Посмотреть профиль Найти все сообщения от Валерия_05
 
Регистрация: 18.02.2018
Сообщений: 9

j0hnik, Aetae, мне больше всего понравился вот этот способ - ``
На первый взгляд вообще супер. Как я поняла, таким образом хоть всю HTML страницу оберни и больше никаких лишних телодвижений не требуется))) Это же удобно!
Или же не всё так гладко? Экранировать дополнительно нужно будет какие-то символы?

И мало ли знаете, где можно посмотреть в каких браузерах поддерживается такой вариант, направьте пожалуйста ссылкой на путь истинный.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вставить в html 5 плеер директиву php кода. Валерий67432 Общие вопросы Javascript 1 22.09.2017 21:18
Подсветка строк и столбцов таблицы html sashgera Элементы интерфейса 8 20.12.2014 20:47
Стягивание из html кода другой страницы данных royksopp Общие вопросы Javascript 8 22.12.2011 00:05
Проблема с обработкой селектов html кода, пришедшего через ajax запрос Rage jQuery 6 26.01.2009 14:15
Готовность HTML кода no_alex Общие вопросы Javascript 15 25.11.2008 16:52