Правильно ли использовать одинарные кавычки для атрибутов 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 ]

51 голосов
/ 28 октября 2008

Конечно, допустимо использовать одинарные кавычки ( HTML 4.01, раздел 3.2.2 ). Я не заметил такой тенденции, но, возможно, есть какая-то структура, которая поддерживает посещаемые вами сайты, которые цитируются с помощью одинарных кавычек.

45 голосов
/ 28 октября 2008

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

, например

String.Format("<a href='{0}'>{1}</a>", Url, Desc)
12 голосов
/ 28 октября 2008

При использовании PHP для генерации HTML может быть проще сделать что-то вроде:

$html = "<img src='$url' />";

чем конкатенация строки с переменной со строкой, так как PHP анализирует переменные в строках в двойных кавычках.

4 голосов
/ 28 октября 2008

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

Пример:

echo "<input type='text' value='$data'/>";

вместо

echo "<input type=\"text\" value=\"$data\" />";

или

echo '<input type="text" value="' . $data . '" />';

В настоящее время я всегда придерживаюсь двойных кавычек для HTML и одинарных кавычек для Javascript.

3 голосов
/ 28 октября 2008

В ASP.NET проще использовать одинарные кавычки, если вы используете выражения привязки данных в атрибутах:

<asp:TextBox runat="server" Text='<%# Bind("Name") %>' />
3 голосов
/ 28 октября 2008

Это проще, когда вы хотите встроить двойные кавычки.

2 голосов
/ 27 июля 2010

В PHP echo принимает несколько параметров. Итак, если вы хотите опустить оператор конкатенации, они могут сделать что-то вроде и по-прежнему использовать двойные кавычки:

echo '<input type="text" value="', $data, '" />';
2 голосов
/ 14 января 2009

Одинарные кавычки вполне допустимы в (X) HTML. Использование обратной косой черты, чтобы избежать их, с другой стороны, не так. <img src='<a href="http://widget-site-example.com/ross.jpg" rel="nofollow noreferrer">http://widget-site-example.com/ross.jpg</a>' alt='Ross\'s Widget' /> - это изображение с альтернативным текстом "Ross \" и пустыми атрибутами s и Widget / Widget'. Правильный способ избежать апострофа в HTML - &#39;.

1 голос
/ 30 октября 2015

Если вы хотите, чтобы был действительным или , тогда оба или будут работать для атрибутов. HTML4 можно проверить здесь: https://validator.w3.org/

Если вы поддерживает только современные браузеры ( и выше), вы можете использовать синтаксис , который допускает одинарные, двойные кавычки и нет кавычки (пока в значении атрибутов нет специальных символов). HTML5 можно проверить здесь: https://validator.w3.org/nu

1 голос
/ 10 октября 2010

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

...