У меня есть приложение ASP.NET MVC со следующей строкой в разметке:Котировки должны соответствовать, когда они это делают?
<i class=' fa fa-circle-thin fa-stack-2x'></i>
Когда я строй этого приложения, я получаю следующее предупреждение:
Если это значение атрибута заключено в кавычки, котировки должны совпадать.
Понятно, что котировки do соответствуют. Предупреждение появляется, если я использую одиночные или двойные кавычки.
Для контекста, здесь окружающий код:
<span style="cursor: pointer;">
<span class='fa-stack fa-lg @colorStyle'
data-toggle="tooltip"
data-placement="bottom"
title='@status'>
<i class=' fa fa-circle-thin fa-stack-2x'></i>
<i class="fa fa-database fa-stack-1x"
style="color: #ff4f4f;"></i>
</span>
</span>
Я попытался обеспечить, чтобы любой атрибут, который включал Razor переменного был заключен в одинарных кавычках, и это не имело никакого эффекта.
Может ли кто-нибудь объяснить, почему это происходит, и как его исправить?
Глупый вопрос, но я все равно спрошу: что произойдет, если вы удалите пробел в начале значения атрибута? – Amy
@ Ами, не глупый вопрос вообще. Фактически, если я удалю его, ошибка исчезнет. Удивительно, мягко говоря. Ошибка в валидаторе HTML? Несмотря на то, что пространство не является необходимым, я думаю, что пространство не обязательно означает конец атрибута, тем более, что оно начинается с цитаты. –
Ничего себе. Думаю, я отвечу на этот вопрос в ответ. Я ничего не вижу в спецификации HTML5, которая запрещает значение атрибута начинаться с пробела, поэтому я предполагаю, что это ошибка в валидаторе. – Amy