2014-05-13 3 views
2

У меня есть веб-страницу, которая подсказке устанавливается следующим образом:Разбейте Длинное название атрибута Value

title="Tel: {%- recordFields.providerTel || 'N/A' %} Email: {%-recordFields.providerEmail || 'N/A' %}" 

линия занимает 142 колонн ...

Есть ли способ, чтобы разбить строку заголовка в источнике, чтобы он мог охватывать несколько строк?

Что-то вдоль этих линий:

title="Tel: {%- recordFields.providerTel || 'N/A' %} \ 
Email: {%-recordFields.providerEmail || 'N/A' %}" 
+1

Вы * только * хотите, чтобы он охватывал несколько строк в источнике, не так ли? Фактическое значение не должно иметь новых строк (например, при использовании)? –

+0

Скажем так. В этом конкретном случае I * также * хочет получить новую строку на выходе, но я удалю ее для ясности. –

+0

@ Isaac: FWIW, если вы поместите символы новой строки в атрибут, некоторые браузеры покажут заголовок (например, в всплывающей подсказке) с символами новой строки, другие покажут это без него. Но это касается вашего вопроса. –

ответ

1

В комментарии по этому вопросу я спросил:

Вы только хотите, чтобы занимать несколько строк в источнике, верно? Фактическое значение не должно иметь новых строк (например, при использовании)?

и вы сказали:

Допустим, что. В этом конкретном случае я также хочу использовать новую строку в выводах, но я удалю ее для ясности.

Это действительно фундаментальная часть вопроса. :-)

Если вы сделать хотите, чтобы Newlines, ответ прост, но (на мой взгляд) неудовлетворителен: Просто поместите их в буквальном смысле:

 <div title="Tel: {%- recordFields.providerTel || 'N/A' %} 
Email: {%-recordFields.providerEmail || 'N/A' %}">...</div> 

Live example. Обратите внимание, что это важно не иметь ведущие пробелы на следующей строке, потому что это пробел является частью значения атрибута. Это то, что делает его неудовлетворительным для меня, потому что, если последующая строка начинается с столбца 0 в том, что в противном случае отстутствует, кажется нечистым (и некоторые инструменты будут сражаться с вами, пытаясь отступом).

Если вы не хотят новой строки в значении атрибута, я не знаю способа сделать это. Согласно HTML specification, значение атрибута равно «... Значения атрибута представляют собой смесь text и character references ...», и если мы будем следовать этой ссылке для «текста», это ничего не говорит о размещении только для источника linebreaks в значении.

Так как вы, кажется, использует какой-то шаблонизатор, если он работает на стороне сервера, то вы можете, конечно, определить свойство на значения объекта удерживать строку заголовка:

title="{%- getTitleFor(recordFields) %}" 

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

+0

Мой вопрос состоял в том, чтобы разбить строку 'title' источника на несколько строк. В примере, который я использовал, также содержал ' ', но, поняв, что он добавит путаницу в вопрос, я удалил его. –

+0

@ IsaacKleinman: Ahhhhh ..... Я понял это сейчас. –

Смежные вопросы