Avatar billede Slettet bruger
13. marts 2005 - 10:55 Der er 20 kommentarer og
1 løsning

Øv, den validerer ikke.

Hejsa.

Sidder her og roder med et website, og tester med at validere, men denne valideringsfejl kan jeg altså ikke selv finde ud af at rette:
<div class="entry" onmouseover="entryOver(this)">


Selve javascriptfunktionen lyder sådan:
function entryOver(divFJ)
{
divFJ.className=divFJ.className.replace("entry","entryOver")
    divFJ.onmouseout=function()
    {
this.className=this.className.replace("entryOver","entry");
    }
}
Avatar billede Slettet bruger
13. marts 2005 - 10:57 #1
Her e rselve fejlmeddelelsen fra http://validator.w3.org/check:

document type does not allow element "div" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag

<div class="entry" onmouseover="entryOver(this)">

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 roenving Novice
13. marts 2005 - 11:04 #2
Sammenhængen må du lige vise ...

-- og så skal det da nævnes, at det er rent ud tåbeligt at skifte class on-the-fly, da du derved tvinger browseren til at genberegne hele dit dokument, da den på forhånd opgiver at vide noget om konsekvenserne i nedarvning m.m.m.

-- men det er da heller ikke så svært:

<div class="entry" onmouseover="entryOver(this,'over')" onmouseout="entryOver(this,'out')">

function entryOver(divFJ,mode){
  st = divFJ.style;
  st.backgroundColor = (mode=='over')?'#777':'#fff';
  st.color = (mode=='over')?'#fff':'#777';
}

-- og jeg kan heller ikke se grunden til at skrive den ene funktion, men ikke den anden, men det er i hvertfald ikke andet end noget, som fanger mit øje ...

-- måske kunne man sætte dem begge onload for alle entry-elementer ?-)
Avatar billede Slettet bruger
13. marts 2005 - 11:14 #3
Godt at høre fra dig, Roenving! :-)

A: Jeg uploader lige hvad jeg har lavet, indtil videre. Det tager nok lige et par minutter.

B: Der hører selvfølgelig lidt CSS med (det glemte jeg lige i farten):
div.entry {
    background-color:#f2f2f2;
}

div.entryOver {
    background-color:#ffffff;
}

div.entryOver div.menutekst {
    background-color:#666666;
}

div.entryOver div.pluspics {
    background-color:#289400;
}
Avatar billede Slettet bruger
13. marts 2005 - 11:19 #4
Ok, så har jeg uploadet:
http://www.extend.dk/zfgrahgj/index.html
Avatar billede Slettet bruger
13. marts 2005 - 11:21 #5
Så hvad vil du foreslå, at jeg burde gøre?
Avatar billede Slettet bruger
13. marts 2005 - 11:44 #6
*ØV*! validatoren kan altså ikke lide din nye linie:
<div class="entry" onmouseover="entryOver(this,'over')" onmouseout="entryOver(this,'out')">

Måske jeg helt burde droppe at bruge DIV, og bruge en iframe eller andet, som den foreslår? Altså hvis man kan det...

Hvad synes du at jeg burde gøre, Roenving?
Avatar billede roenving Novice
13. marts 2005 - 11:56 #7
Det er fordi du placerer et block-level-element inde i et inline-element, og det er ikke tilladt:

<a href="zxc/login1.asp" target="content">
<div class="entry" style="width:200px; height:62px;" onmouseover="entryOver(this,'over')" onmouseout="entryOver(this,'out')">

-- prøv i stedet:

<div class="entry" style="width:200px; height:62px;" onmouseover="entryOver(this,'over')" onmouseout="entryOver(this,'out')" onclick="window.content.location.href='zxc/login1.asp'">
Avatar billede Slettet bruger
13. marts 2005 - 12:34 #8
Ok, ingen block-level-elementer inde i inline-elementer. Så langt så godt. :-)

Og nu æder validatoren det hele råt! :-) Så det var altså dér problemet var!
Super-dejligt at få det på plads, Roenving kode-supermand! :-)

Igen: Rigtigt mange tak for din expertise og vejledning! :-)
Avatar billede Slettet bruger
13. marts 2005 - 12:34 #9
Men hov! Du har ikke lagt noget svar endnu. Kan du ikke venligst lægge et svar, Roenving? :-)
Avatar billede Slettet bruger
13. marts 2005 - 12:45 #10
Forresten:
Jeg fandt lige en SUPER-toolbar, som helt sikkert vil være noget for dig!
Du tænker sikkert: "Åh nej!".
MEN: Prøv alligevel at installere den! Du vil blive MEGET forbløffet over de programmeringsmuligheder der er, Roenving!!!

Både til Firefox og Mozilla.  :-)

Link:
http://www.chrispederick.com/work/firefox/webdeveloper/download/
Avatar billede roenving Novice
13. marts 2005 - 12:59 #11
-- og så lige udvidelsen af scriptet, som tager højde for dine andre css-ting:

function entryOver(divFJ,mode){
  var st = divFJ.style;
  st.backgroundColor = (mode=='over')?'#fff':'#f2f2f2';
  var divs = divFJ.getElementsByTagName('DIV');
  for(i=0;divs.length>i;i++){
    switch(divs[i].className){
      case "menutekst":
        divs[i].style.backgroundColor = (mode=='over')?'#666':'';
        break;
      case "pluspics":
        divs[i].style.backgroundColor = (mode=='over')?'#289400':'';
        break;
    }
  }
}

Velbekomme '-)
Avatar billede Slettet bruger
13. marts 2005 - 15:30 #12
Du er fantastisk! Det virker helt perfekt nu!
Igen: Rigtigt rigtigt mange tak!!! :-)
Avatar billede roenving Novice
13. marts 2005 - 15:31 #13
-- og jeg takker for point ;~}
Avatar billede Slettet bruger
13. marts 2005 - 15:37 #14
Nå for søren! Jeg lagde slet ikke mærke til din opdatering i dit sidste indlæg! (13/03-2005 12:59:30). Jeg troede først bare at det var en gentagelse...

MEN: Når jeg bruger den sidste opdatering, fungerer scriptet ikke mere. Det ødelæger et eller andet ved funktionen, Roenving. Måske du ved hvad der er galt?
Avatar billede roenving Novice
13. marts 2005 - 15:40 #15
Får du fejl ?-)
Avatar billede Slettet bruger
13. marts 2005 - 15:43 #16
Nej, ingen fejl. Den virker bare ikke mere.
Avatar billede roenving Novice
13. marts 2005 - 15:46 #17
Har du opdateret din upload ?-)
Avatar billede Slettet bruger
13. marts 2005 - 15:47 #18
Nej, men det kan jeg lige gøre. Det tager lige 2 min.
Avatar billede Slettet bruger
13. marts 2005 - 15:54 #19
Jo, den virker 100% perfekt alligevel. Det var bare mig som tog fejl. :-/

Ser du: Når jeg laver større opdateringer/udviklinger, tager jeg en kopi af det "gamle", og laver en ny mappe med den nye version. Og jeg sad og arbejdede videre i den gamle mappe...

Jeg plejer ellers at sætte denne ind:
document.write("Document " + document.location);
for så VED jeg, at jeg arbejder i den nye version, og ikke blander tingene sammen. :-)

Ja ja, selv mit perfekte system er ikke helt perfekt...

Igen igen: Rigtigt mange tak for din hjælp, Roenving!!! :-)
Avatar billede roenving Novice
13. marts 2005 - 15:55 #20
U'r welcome !-)
Avatar billede Slettet bruger
13. marts 2005 - 15:57 #21
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