Как я могу использовать многострочное значение для атрибута тега HTML? (т.е. как мне избежать перевода строки?) - PullRequest
17 голосов
/ 12 июня 2009

Как включить новую строку в атрибуте тега HTML?

Например:

<a href="somepage.html" onclick="javascript: foo('This is a multiline string.
This is the part after the newline.')">some link</a>

Редактировать : Извините, плохой пример, что если тег оказался в javascript, произнесите:

<sometag someattr="This is a multiline string.
This is the part after the newline." />

Редактировать 2 : Оказывается, что новая строка в строке не была моей проблемой, это была функция javascript, которую я вызывал. FWIW, "&#10;" может использоваться для новой строки в атрибуте HTML.

Ответы [ 7 ]

20 голосов
/ 12 июня 2009

Из того, что я помню о стандарте HTML, символьные объекты работают в атрибутах, так что это может работать:

<sometag someattr="This is a multiline string.&#10;This is the part after the newline." />

Я не уверен, что "новая строка", которую вы хотите, должна быть (\ n) или (\ r \ n), и я не уверен, что браузеры будут интерпретировать его так, как вы хотите.

Зачем тебе это? Какую конкретную проблему вы пытаетесь решить, добавив новую строку в атрибуте тега HTML?

14 голосов
/ 12 июня 2009

Чтобы включить многострочное значение, просто продолжите текст атрибута html на следующей строке в вашем редакторе, например,

<input type="submit" value="hallo
hallo"> 

поместит второй привет под первым

5 голосов
/ 12 июня 2009

Как правило, новые строки в атрибутах сохраняются, поэтому ваш второй пример будет работать нормально Вы пробовали это? Можете ли вы привести конкретный пример, где у вас есть проблемы с ним?

В качестве теста взгляните на это: -

<a href="somepage3.html" onclick="javascript: alert(this.getAttribute('thing'))" thing="This is a multiline string.
This is the part after the newline.">some link</a>

Предупреждение включает в себя символ новой строки.

1 голос
/ 29 декабря 2011
<a href="somepage.html" onclick="javascript: foo('This is a multiline string. \
This is the part after the newline.')">some link</a>

Javascript необходим обратный слеш в конце новой строки в строке.

0 голосов
/ 12 июня 2009

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

Честно говоря, стоит упомянуть, что вы должны использовать Events и делегатор вместо того, чтобы помещать событие javascript непосредственно в элемент.

0 голосов
/ 12 июня 2009

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

(зависит от редактора, конечно)

0 голосов
/ 12 июня 2009

Я не уверен, но вы можете попробовать \ r или \ n

javascript: foo('This is a multiline string.\rThis is the part after the newline.')

или

javascript: foo('This is a multiline string.\nThis is the part after the newline.')
...