2012-04-19 6 views
0

Мой код ниже создан на основе StaticItemTemplate в меню ASP:.DIVS не проверяется при использовании в пользовательском ASP: Меню

Код и ссылка делают то, что вам нравится, однако это не помогает.

Выходной код выглядит следующим образом

<li> 
    <a class="level1 StaticMenuItemStyle" href="/Services.aspx"> 
    <div class="StaticMenuItemStyle" 
     onmouseover="style.backgroundColor=&#39;#0088CB&#39;;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 с пролетом он проверяет. но не выглядит правильно. У кого-нибудь есть идеи, как обойти это?

ответ

0

Внутри тега «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=&#39;#0088CB&#39;;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 является инициализация перед сценарием