Выходящие требования для атрибута значения входного тега - PullRequest
3 голосов
/ 28 февраля 2010

Каковы требования к экранированию символов в атрибуте значения входного тега в разметке HTML?

Нужно ли экранировать двойные кавычки? А также специальные символы HTML?

Я попытался просмотреть спецификацию W3C , но не смог найти какой-либо конкретной информации о том, как вещи должны быть вставлены в атрибут value.

Полагаю, само собой разумеется, что " следует экранировать до ", но как насчет других? И экранирование, и не экранирование, похоже, прекрасно работают во всех моих браузерах, но я не хочу выбирать нестандартный вариант и ломать HTML или &.

1 Ответ

6 голосов
/ 28 февраля 2010

Для значений атрибутов необходимо только экранировать кавычки.

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

Если ваш атрибут содержится в одинарных кавычках, экранируйте одинарные кавычки в строке с помощью '. Примечание: не использовать '!

Это все действительные HTML:

<input value=foo>
<input value="foo">
<input value='foo'>

Примечание: кавычки не обязательны , чтобы быть действительным HTML. XHTML однако требует кавычек. Без кавычек в значении атрибута не должно быть пробелов.

...