Правильно ли использовать одинарные кавычки для атрибутов HTML? - PullRequest
65 голосов
/ 28 октября 2008

Недавно я много чего видел:

<a href='http://widget-site-example.com/example.html'>
    <img src='http://widget-site-example.com/ross.jpg' alt='Ross&#39;s Widget' />
</a>

Допустимо ли использовать одинарные кавычки в HTML? Как я уже говорил выше, это также проблематично, потому что вы должны избегать апострофов.

Ответы [ 15 ]

0 голосов
/ 04 декабря 2016

Другой случай, когда вы можете использовать одинарные кавычки: Хранение данных JSON в атрибутах данных:

<tr data-info='{"test":true}'></tr>

Ключи объектов JSON должны быть в двойных кавычках, поэтому сам атрибут не может.

0 голосов
/ 17 октября 2014

Вам следует вообще избегать кавычек.

В вашем примере только один цитируемый атрибут действительно нуждается в кавычках.

<!-- best form -->
<a href=http://widget-site-example.com/example.html>
  <img src=http://widget-site-example.com/ross.jpg alt='Ross&#39;s Widget' />
</a>

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

Использование двойных кавычек не пройдет некоторые валидаторы.

0 голосов
/ 29 июля 2013

Почему бы не сохранить нажатие клавиши SHIFT . Еще одно нажатие клавиши для одного и того же хода.

0 голосов
/ 02 февраля 2013

Я знаю, что это старая тема, но все еще очень важна.

Если вы хотите контролировать кавычки в сгенерированном HTML, вы можете использовать функцию sprintf () в PHP (и аналогичные вызовы, доступные во многих других языках):

$html = sprintf('<a href="%s">%s</a>', $url, $text);

Использование sprintf () позволяет легко изменять строку формата, извлекая ее из базы данных или файла конфигурации, или с помощью механизмов перевода.

Он очень читабелен и допускает использование двойных или одинарных кавычек в сгенерированном HTML, с очень небольшими изменениями и без экранирования:

$html = sprintf("<a href='%s'>%s</a>", $url, $text);
0 голосов
/ 28 октября 2008

Что против одинарных кавычек?

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

Бесплатная поддержка стилей случайного цитирования !!! (ууу; D)

...