Avatar billede melange Nybegynder
28. oktober 2002 - 08:57 Der er 14 kommentarer og
1 løsning

W3C kan ikke lide id="menu"

Jeg har lige prøvet at validere min side som XHTML 1.0 inde på W3C.org

Det gik næsten godt :) Men den kunne altså ikke lide at jeg brugte id="menu" :(

fejlen ser sådan her ud:

<start>
Line 55, column 28:
  <a href="?page=search" id="menu">Søg</a>
                              ^Error: ID "menu" already defined

Line 52, column 28:
  <a href="?page=profil" id="menu">Profil</a>
                              ^Error: ID "menu" first defined here
</slut>

Udskifter jeg id="menu" med class="menu" (og retter i CSS koden) giver W3C ingen fejl, men så virker det heller ikke :(

nogen som kan forklare hvad fejlen er ?
Avatar billede melange Nybegynder
28. oktober 2002 - 08:59 #1
errr....for lige at komme misforståelser i forkøbet:

"^Error: ID "menu" already defined"

burde i virkeligheden pege på M'et i Menu
Avatar billede dmcn Praktikant
28. oktober 2002 - 09:00 #2
id er en unik identifikation af et objekt. Derfor kan flere objekter ikke have samme id, ergo får du fejl. Hvordan du løser den? Tjaeh... ;)
Avatar billede limemedia Nybegynder
28. oktober 2002 - 09:04 #3
hvad er det der fejler når du bruger class ? har du evt mere af koden vi må se... men som n0rmality siger, id er unikt og kan kun "anvendes" én gang
Avatar billede melange Nybegynder
28. oktober 2002 - 09:04 #4
damn, tænkte nok det var noget i den stil.

problemmet ligger som sagt i at, koden ikke virker når jeg kalder den for class, og jeg vil meget gerne undgå style="" da, stylekoderne hver gang bliver hentet fra en forskellige css filler (ja, jeg kedede mig :) )

nå, jeg må bare være kreativ :)
Avatar billede melange Nybegynder
28. oktober 2002 - 09:07 #5
jeg ved ikke hvorfor class ikke gider!

min style kode ser ud som følger: (og jeg retter selvfølgelig #menu til .menu hvis den skal virke til class)

<kode>
#menu {
    FONT-SIZE: 12px;
    FONT-WEIGHT: bold;
    TEXT-DECORATION: none
}
</kode>
Avatar billede dmcn Praktikant
28. oktober 2002 - 09:07 #6
Problemet er vel, at menuen bygger på noget document.getElementById('menu').osv. Desværre mener jeg, at name="" er depricated i XHTML.
Har du selv lavet menuen? Så du kan ændre den så den fungerer med unikt id pr. objekt?
Avatar billede limemedia Nybegynder
28. oktober 2002 - 09:07 #7
det var mere hele siden jeg fiskede efter
Avatar billede dmcn Praktikant
28. oktober 2002 - 09:08 #8
Oooh - derfor class ikke gider.
<kode>
.menu {
    FONT-SIZE: 12px;
    FONT-WEIGHT: bold;
    TEXT-DECORATION: none
}
</kode>
Udskift nu id med class.
Avatar billede dmcn Praktikant
28. oktober 2002 - 09:08 #9
Arh doh - glem det... jeg læste ikke helt med. ;)
Avatar billede melange Nybegynder
28. oktober 2002 - 09:09 #10
hvis i er hurtige kan i se den på:
http://217.157.86.1/bottiger/
Avatar billede dmcn Praktikant
28. oktober 2002 - 09:12 #11
Hvilken del er det der fejler når du ændrer til class? TD-baggrundsfarven eller hovereffekten på teksten?
Avatar billede melange Nybegynder
28. oktober 2002 - 09:14 #12
okey har både tilføjet

#menu {
    FONT-SIZE: 12px;
    FONT-WEIGHT: bold;
    TEXT-DECORATION: none
}

og

.menu {
    FONT-SIZE: 12px;
    FONT-WEIGHT: bold;
    TEXT-DECORATION: none
}

i min CSS fil.

og sådanher ser det ud hvis jeg bruger id="menu"
http://217.157.86.1/bottiger/?style=id

og sådanher hvis jeg bruger class="menu"
http://217.157.86.1/bottiger/?style=class
Avatar billede melange Nybegynder
28. oktober 2002 - 09:15 #13
hvis jeg bruger class bliver menu-teksten mindre og anti-fed
Avatar billede melange Nybegynder
28. oktober 2002 - 09:24 #14
nå, jeg må lige forsvinde; jeg lægger lige ´lidt kode op så andre måske kan finde fejlen:

som i kan se i nederstående kodeeksempler, er det kun 'id' som er  udskiftet med 'class'
dog virker stylekoden ikke, som skulle gøre teksten fed, og større :(

------id="menu"--------
    <table width="700" border="0" cellspacing="0" cellpadding="0" class="menu_bg">
    <tr>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=profil" id="menu">Profil</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=search" id="menu">Søg</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=article" id="menu">Artikler</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=stuff" id="menu">Stuff</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=faq" id="menu">FAQ</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=link" id="menu">Links</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=contact" id="menu">Kontakt</a>
    </td>
    </tr>
    </table>
--------id="menu"---------

-------class="menu"-------
    <table width="700" border="0" cellspacing="0" cellpadding="0" class="menu_bg">
    <tr>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=profil" class="menu">Profil</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=search" class="menu">Søg</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=article" class="menu">Artikler</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=stuff" class="menu">Stuff</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=faq" class="menu">FAQ</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=link" class="menu">Links</a>
    </td>
    <td width="100" onmouseover='bg(this,"over");' onmouseout='bg(this,"not_over");' align="center">
    <a href="?page=contact" class="menu">Kontakt</a>
    </td>
    </tr>
    </table>
-------class="menu"-------
Avatar billede melange Nybegynder
28. oktober 2002 - 13:54 #15
nå, det er åbenbart bare IE6 som ikke kan finde ud af det :)

når jeg ændrede

<a href="?page=profil" class="menu">Profil</a>

til

<a href="?page=profil"><span class="menu">Profil</span></a>

virkede det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester