Element div not allowed as child of element label in this context

Рейтинг: 1Ответов: 1Опубликовано: 23.04.2015

Line 178, Column 1672: Element div not allowed as child of element label in this context. (Suppressing further errors from this subtree.) … Текст14

При валидации появилась такая ошибка. Красным показывает закрывающую скобку "<div>". Пример кода:

<input type="checkbox" id="c2" value="2">
<label for="c2">
 <div>Текст
    <span>14</span>
 </div>
</label>

Как решить эту проблему?

Ответы

▲ 2

<label> является строчным элементом (если объяснять по-простому, предназначен для текста и не имеет конкретной формы), а <div> блочным (прямоугольник). Вкладывать блочные элементы внутрь строчных по стандарту запрещено. Их надо поменять местами:

<div>
  <label for="c2">Текст
    <span>14</span>
  </label>
</div>

(На заметку: точно так же нельзя запихивать div внутрь span, распространённая ошибка.)