Приведение в порядок очень длинной строки кода в jQuery

Я просто задавал здесь несколько вопросов без особой удачи, и мне было интересно, есть ли небольшой фрагмент синтаксиса, который мог бы разбить одну строку кода на несколько строк, чтобы у меня не получился один безумно длинный фрагмент кода.

Я добавляю некоторые элементы в JQuery и абзацы, и это делает его очень длинным, поэтому я просто хочу, чтобы он выглядел немного менее беспорядочным.

$('#image_holder').append('<div id="holder_info"><h5>Creatology Concept Design Academy     (Final College Yeah Exibition):</h5><p>For my final year at Weston College, we were asked to     invent a company and produce a series of designs related, this included</p></div>');

Я еще не закончил элемент, просто хочу найти способ привести его в порядок.


person Martin Bodger    schedule 03.06.2013    source источник
comment
вы имеете в виду разрушение javascript? скажите так, и блоки кода не абзацы.   -  person Amelia    schedule 03.06.2013
comment
word-wrap css, не так ли?   -  person A. Wolff    schedule 03.06.2013
comment
Я просто спрашивал, есть ли символ для разделения кода, чтобы не получить одну очень длинную строку кода. И я сказал «Абзацы», потому что элемент, который я добавляю, - это ‹p› Кроме того, я вежливо попросил, чтобы не было необходимости быть таким грубым, я бы надеялся, что этот веб-сайт поможет дать ответы, а не умалить людей за то, что они новички в кодировании.   -  person Martin Bodger    schedule 03.06.2013
comment
Я пытаюсь прямо сейчас найти вариант редактирования по вопросу.   -  person Martin Bodger    schedule 03.06.2013
comment
См. Также: meta.stackexchange.com/questions/ 66377 / what-is-the-xy-problem - я думаю, это, вероятно, применимо и здесь   -  person Amelia    schedule 03.06.2013
comment
Если я понимаю, о чем вы спрашиваете, вы можете просто ставить разрывы строк между вызовами функций. Пока вы разделяете функции (не в середине слова), все они будут строиться вместе до следующей точки с запятой. Если вы разместите свой код, мы сможем вам показать. Если это то, о чем вы спрашиваете.   -  person Reinstate Monica -- notmaynard    schedule 03.06.2013
comment
Возможный дубликат переноса длинного текста в CSS   -  person Samuel Liew♦    schedule 03.06.2013
comment
Обновил вопрос с синтаксисом, я просто хочу, чтобы код запускался без необходимости быть чертовски длинным, это просто ради сохранения всего видимого без необходимости горизонтальной прокрутки моего кода jquery.   -  person Martin Bodger    schedule 03.06.2013
comment
Это неплохой вопрос. Это неочевидная особенность JavaScript, особенно учитывая иногда необязательное, а иногда не поведение точки с запятой (и, как следствие, разрыв строки).   -  person Reinstate Monica -- notmaynard    schedule 03.06.2013


Ответы (2)


Вы можете разбить оператор на несколько строк, не делая ничего особенного. Просто поставьте точку с запятой (;) в конце вашего оператора, чтобы было ясно, где он должен заканчиваться.

Если строка не заканчивается точкой с запятой, JS проверяет, что будет дальше, чтобы увидеть, где имеет смысл вставить точку с запятой и завершить оператор. ((Своего рода) исключение return.)

Если вы хотите разбить длинную строку, просто разбейте ее на более мелкие и соедините.

Пример, который вы опубликовали:

$('#image_holder').append('<div id="holder_info"><h5>Creatology Concept Design Academy     (Final College Yeah Exibition):</h5><p>For my final year at Weston College, we were asked to     invent a company and produce a series of designs related, this included</p></div>');

легко может стать:

$('#image_holder')
    .append(
        '<div id="holder_info"><h5>Creatology Concept Design Academy     ' +
        '(Final College Yeah Exibition):</h5>' +
        '<p>For my final year at Weston College, we were asked to     ' +
        'invent a company and produce a series of designs related, ' +
        'this included</p></div>'
    );

(Отступы - это просто вопрос стиля, а не требование.)

Это работает, потому что JS не может вставлять точку с запятой где-либо в этих строках, и код с обеих сторон точки с запятой имеет синтаксический смысл.

Причина, по которой это не работает

return
    true;

or

return
    this;

потому что return; может быть оператором сам по себе, как и true, this или что-нибудь, что обычно идет после return, поэтому JS вставляет точку с запятой после return. На самом деле это не исключение, это скорее потенциальная ловушка, о которой нужно знать.

person Derek Henderson    schedule 03.06.2013

Вы можете закрыть строки и объединить их с помощью +, а также поместить разрывы строк в любом месте (за пределами строк).

$('#image_holder').append('<div id="holder_info"><h5>' 
 + 'Creatology Concept Design Academy' 
 + '     (Final College Yeah Exibition):</h5>' 
 + '<p>For my final year at Weston College,' 
 + ' we were asked to     invent a company and' 
 + ' produce a series of designs related, this included</p></div>');
person Reinstate Monica -- notmaynard    schedule 03.06.2013
comment
Спасибо iamnotmaynard. Послушайте всех, вот как вы относитесь к людям с небольшим уважением. - person Martin Bodger; 03.06.2013
comment
Пожалуйста. Также см. Другой ответ (который я получил в своем комментарии) для объединения вызовов jQuery. Та же основная идея, другое использование. - person Reinstate Monica -- notmaynard; 03.06.2013
comment
@MartinBodger сообщит о своих проблемах мете по этому поводу; довольно часто люди задают расплывчатые вопросы в стиле новичков (например, я думал, что вы хотите деминифицированный JS, пока вы не проясните). Помните, что если люди не приходят вам на помощь сразу, это не значит, что они грубят. - person Amelia; 03.06.2013