Avatar billede mpj_86 Nybegynder
08. februar 2005 - 22:48 Der er 23 kommentarer og
1 løsning

Problemer med <div>

Hej

Jeg testede lige min side på http://validator.w3.org/ den har fundet en fejl, men jeg ved ikke hvordan jeg skal rette den..


Koden ser sådan ud:
<div onmouseover="this.className='menu_on'" onmouseout="this.className='menu_off'">&nbsp;<img border="0" src="images/design/prik_off.gif" alt="">&nbsp;<a href="index.php?s=forside">Forside</a></div>

Fejlen:
document type does not allow element "DIV" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag

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>").
Avatar billede olebole Juniormester
08. februar 2005 - 22:49 #1
<ole>

Hvad validerer du op mod? Link, please  :)

/mvh
</bole>
Avatar billede olebole Juniormester
08. februar 2005 - 22:50 #2
Noget kunne tyde på, du har et div inde i et inline element - men det er ikke til at sige uden at kunne se siden
Avatar billede mpj_86 Nybegynder
08. februar 2005 - 22:51 #3
Avatar billede mpj_86 Nybegynder
08. februar 2005 - 22:52 #4
Avatar billede olebole Juniormester
08. februar 2005 - 22:58 #5
Yups ... du har et div i et span - og det må man ikke.

Desuden bør du bruge denne:
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- i stedet for den, du bruger nu.
Avatar billede olebole Juniormester
08. februar 2005 - 23:01 #6
Eksempel:

<td width="120" valign="top" class="td_indhold">
<span class="tekst">
<div onmouseover="this.className='menu_on'" ....>
... osv, osv ...
</span>

Prøv i stedet:

<td width="120" valign="top" class="td_indhold">
<div class="tekst">
<div onmouseover="this.className='menu_on'" ....>
... osv, osv ...
</div>
Avatar billede mpj_86 Nybegynder
08. februar 2005 - 23:02 #7
Oki, tak for hjælpen..
Avatar billede mpj_86 Nybegynder
08. februar 2005 - 23:03 #8
oki, jeg har bare gjordt sådan her:

<div onmouseover="this.className='menu_on'" onmouseout="this.className='menu_off'">&nbsp;<img border="0" src="images/design/prik_off.gif" alt="">&nbsp;<a href="index.php?s=forside"><span class="tekst">Forside</span></a></div>
Avatar billede olebole Juniormester
08. februar 2005 - 23:17 #9
Yups ... det kan du også. Så skal jeg i øvrigt lige gøre dig opmærksom på, at det at skifte klasse på elementer, skodder frygteligt. Det er yderst ineffektiv kode. Dette er langt bedre:

<script type="text/JavaScript">
function swapStyles(elm) {
    elm.style.color = "#ff0000";
    elm.style.backgroundColor = "#ffff00";
}
</script>

<div onmouseover="swapStyles(this)" .....

- også selvom der er rigtig mange enkelt-properties, der skal skiftes  :)
Avatar billede mpj_86 Nybegynder
09. februar 2005 - 11:15 #10
Det virker næsten...

Når man køre musen over feltet så skifter den farve, men den skifter ikke farven tilbage igen efter man har fjernet musen som den gamle gjorde...
Avatar billede olebole Juniormester
09. februar 2005 - 12:35 #11
Nu er det jo kun dig, der ved, hvad der skete ved den gamle. Derfor har jeg kun kunne give dig et eksempel på, hvordan det kan gøres - ikke hvordan din onmouseout-handler skal se ud  :)
Avatar billede mpj_86 Nybegynder
09. februar 2005 - 13:10 #12
Oki, men hvordan skal onmouseout se ud hvis at den skal have farven #E7E7E7?

Det kan godt være jeg sprøger lidt dumt, men ved intet om JavaScript, jo hvordan man sætter det ind på siden :)
Avatar billede olebole Juniormester
09. februar 2005 - 13:30 #13
Vi ved jo stadig ikke, om den farve er det eneste, der skal skiftes - men det her script er ret generisk ... der kan du selv sætte flere style-properties, som det passer dig:

<script type="text/JavaScript">
var overStyles = {
    "color": "#ff0000",
    "backgroundColor": "#ffff00",
    "border": "1px solid #ff0000"
};
var outStyles = {
    "color": "#ffff00",
    "backgroundColor": "#ff0000",
    "border": "1px solid #ffff00"
};
function swap(elm, styleObj) {
    for (x in styleObj) elm.style[x] = styleObj[x];
}
</script>

<div onmouseover="swap(this, overStyles)" onmouseout="swap(this, outStyles)" ....
Avatar billede mpj_86 Nybegynder
09. februar 2005 - 13:53 #14
Det virker som det skal, tak...
Avatar billede olebole Juniormester
09. februar 2005 - 13:56 #15
... anytime  ;o)
Avatar billede zarthax Nybegynder
09. februar 2005 - 13:58 #16
Smider en kommentar så jeg kan finde dette indlæg igen... temmelig nyttigt :)

[undskyld spam...]

//zarthax//
Avatar billede olebole Juniormester
09. februar 2005 - 15:41 #17
zarthax >> Lav en mappe med små eksempler. Et dokument for hvert eksempel - og så 'en-gerne_lang_sigende_titel.html' ... evt. med et link til den oprindelige kilde. Så er du godt dækket ind - og gør ligespm 'de gamle rotter'  ;o)

En enket forbrugeroplysning: Man kan blot trykke 'Send' uden at skrive noget - så abonnerer man autometisk på spm'et og får tilsendt meils, hvis der kommer nyt i tråden (når Ekspertens mail-system en sjælden gang imellem virker)
Avatar billede mpj_86 Nybegynder
09. februar 2005 - 19:26 #18
Jeg har lige set min side i internet explorer og der kommer der disse 2 fejler:

'outStyles' er ikke defineret
'overStyles' er ikke defineret
Avatar billede mpj_86 Nybegynder
10. februar 2005 - 01:09 #19
olebole: har du en ide om hvad fejlen kan være?
Avatar billede olebole Juniormester
10. februar 2005 - 02:20 #20
Du har lavet en fejl, men det er ikke til at sige, hvad. Du har vel ikke erlæret objekterne i en funktion? De skal erklæres globalt udenfor funktioner, som jeg gjorde - ellers er de lokale og kan kun 'ses' inde fra funktionen, de er erklæret under.
Det var ét bud. Ligger fejlen ikke der, må du poste et link til et eksempel.

Prøv evt. at åbne JS-konsollen i Mozilla og se, hvad den skriver. Den giver somregel bedre besked:
    Tools -> JavaScript Consol
Avatar billede mpj_86 Nybegynder
10. februar 2005 - 14:29 #21
Den finder ingen fejler i JavaScript Consol i Mozilla Firefox, kun i internet explorer..

Du kan se det her: http://www.hot-cars.dk/
Avatar billede olebole Juniormester
10. februar 2005 - 14:40 #22
Du nævnte ikke, du fik en anden fejl, først  ;o)

Du har komma i sidste linie af begge style-objekter. Derfor tror JS, der kommer et element til objektet. Det udløser den første fejl, som er skyld i de næste to.
Slet kommaet - og det kører, som barnefingre gennem en bakke Kærgården  :)
Avatar billede mpj_86 Nybegynder
10. februar 2005 - 14:58 #23
Se nu virker det, takker...
Avatar billede olebole Juniormester
10. februar 2005 - 16:03 #24
... anytime  ;o)
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