Avatar billede carstensm Nybegynder
06. oktober 2002 - 15:15 Der er 9 kommentarer

class og style information

Hvordan kan jeg få fat i baggrundsfarven der er sat i en class, i stedet for en style?

Dette viser ikke noget hvis EtElements baggrundsfarve er sat vis class:
alert(EtElement.style.backgroundColor);
Avatar billede ja-ole Nybegynder
13. marts 2004 - 05:01 #1
Løsning: Brug id i stedet for class - det virker på samme måde.
Notation med class .box
Notation med id #box


Mit hurtige eksempel: Baggrundsfarven ændres, når der klikkes i box'en


(Mellem <HEAD> og </HEAD>)

<STYLE TYPE="text/css">
#box{
width:200px;
height:200px;
background-color:red;
border:solid 2px yellow;
}
</STYLE>

<SCRIPT>
function get_it(farve){
document.getElementById("box").style.backgroundColor=farve;
}
</SCRIPT>

BODY- delen:
...
<DIV ID="box" onclick="get_it('yellow')">
Her er noget text
</DIV>

Prøv!
Avatar billede roenving Novice
13. marts 2004 - 05:04 #2
>>ja-ole

Vrøvl !-)

Du kan ikke få fat i en style-property med javascript, medmindre den er sat direkte som property på elementet eller tidligere er sat med javascript ...
Avatar billede roenving Novice
13. marts 2004 - 05:07 #3
Nåeh, jo, du kan jo iterere igennem alle stylesheets og deres styles indtil du finder et match og så der aflæse det, men er det ikke mærkeligt, at den kode endnu ikke er set på E*  ?-)
Avatar billede ja-ole Nybegynder
13. marts 2004 - 05:23 #4
Til roenving:
Du kan selv vrøvle! Svar ordentligt!
Problemet med disse korte spørgsmål er: Hvad mener afsenderen med spørgsmålet.
Og hvordan forstår modtageren det?
Avatar billede roenving Novice
13. marts 2004 - 05:24 #5
-- og jeg kan godt fortælle hvorfor jeg ikke selv har lavet den:

-- jeg har ganske simpelt ikke gidet bøvle med at genskabe den algoritme, som css-fortolkeren bruger, når den udvælger hvilken af flere matchende, den skal bruge !-)
Avatar billede roenving Novice
13. marts 2004 - 05:30 #6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tom property i javascript-kald til css-class</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.minSpanClass{color:magenta;}
#minDiv{color:green;}
</style>
</head>
<body>
<button name="button1" id="button1" onclick="alert(document.getElementById('minDiv').style.color)">Vis Div tekst-farve med javascript</button><br><br>
<button name="button2" id="button2" onclick="alert(document.getElementById('minSpan').style.color)">Vis Span tekst-farve med javascript</button>
<div id="minDiv">En div-tekst</div>
<span id="minSpan" class="minSpanClass">En span-tekst</span>
</body>
</html>
Avatar billede ja-ole Nybegynder
13. marts 2004 - 05:42 #7
>>roenving

Du kan ikke kalde en "class" med getElementById(..
Avatar billede roenving Novice
13. marts 2004 - 05:51 #8
Nu er carstensm's eksempel jo med en id, så det kan jeg vel også tillade nig ?-)
Avatar billede ja-ole Nybegynder
13. marts 2004 - 06:26 #9
>>roenving
Ja, jeg var lidt for hurtig, jeg overså to linier for "nejen"
Anyway: God Jul!
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