DIVS не проверяется при использовании в настраиваемом ASP: меню
Мой код ниже генерируется из StaticItemTemplate в ASP: меню.
Код и ссылка делают все, что пожелают, однако они не проходят проверку.
Выходной код выглядит следующим образом
<li>
<a class="level1 StaticMenuItemStyle" href="/Services.aspx">
<div class="StaticMenuItemStyle"
onmouseover="style.backgroundColor='#0088CB';style.color=white;"
onmouseout="style.backgroundColor='';"
style="color:Color [Blue];width:180px;">
<a href="/Services.aspx" class="StaticMenuItemStyle">Services</a>
<br />
<div style="background-color: Blue; width: 180px;height: 5px;"></div>
</div>
</a>
</li>
однако это ошибки на W3Validator
Line 84, Column 63: document type does not allow element "div" here; missing one of
"object", "ins", "del", "map", "button" start-tag
style="color:Color [Blue];width:180px;">
The mentioned element is not allowed to appear in the context in which you've placed
it; the other mentioned elements are the only ones that are both allowed there and
can contain the element mentioned. This might mean that you need a containing
element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level
element (such as "<p>" or "<table>") inside an inline element (such as "<a>",
"<span>", or "<font>").
Однако, если я заменю DIV на промежуток, он проверяется. но не выглядит правильно. У кого-нибудь есть идеи, как обойти это?
1 ответ
Внутри тега "a" div не проверяется, потому что div - это, по сути, секция блока, а стиль по умолчанию - блок секции. http://webdesign.about.com/od/htmltags/a/aa011000a.htm Но для тега привязки он такой же, как и span. Вы можете использовать атрибут onclick для атрибута div или использовать функцию.click от jquery. Вы можете использовать его, как показано ниже:
<li>
<a class="level1 StaticMenuItemStyle" href="/Services.aspx">
<span class="StaticMenuItemStyle" style="display:block;"
onmouseover="style.backgroundColor='#0088CB';style.color=white;"
onmouseout="style.backgroundColor='';"
style="color:Color [Blue];width:180px;">
<a href="/Services.aspx" class="StaticMenuItemStyle">Services</a>
<br />
<div style="background-color: Blue; width: 180px;height: 5px;"></div>
</span>
</a> </li>
Упомяните, что jquery инициализируется перед скриптом