webForumDet fria alternativet

Hämta värde ifrån css-fil

6 svar · 285 visningar · startad av Vide

VideMedlem sedan dec. 19998 577 inlägg
#1

Jag har en css-fil med en massa klasser, och jag vill hämta ett värde som ett attribut i en klass har. Kan man göra det med javascript?

Mvh, Vide

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Eine kleine example:

<style type="text/css">
.foo { color: blue; }
</style>
<script type="text/javascript" language="JavaScript">
function getStyleClassByName(className){
	if(document.all){
		for(var styleSheet=0;styleSheet<document.styleSheets.length;styleSheet++){
			for(var rule=0;rule<document.styleSheets[styleSheet].rules.length;rule++){
				if(document.styleSheets[styleSheet].rules[rule].selectorText=="."+className){ return document.styleSheets[styleSheet].rules[rule]; }
			}
		}
	} else if(document.getElementById){
		for(var styleSheet=0;styleSheet<document.styleSheets.length;styleSheet++){
			for(var rule=0;rule<document.styleSheets[styleSheet].cssRules.length;rule++){
				if(document.styleSheets[styleSheet].cssRules[rule].selectorText=="."+className){ return document.styleSheets[styleSheet].cssRules[rule]; }
			}
		}
	}
	return null;
}
alert(getStyleClassByName('foo').style.color);
</script>
VideMedlem sedan dec. 19998 577 inlägg
#3

Tack för svaret. :)

Tyvärr verkar det bara fungera om man definierat klasserna i själva dokumentet, inte om klasserna ligger i en egen fil.

Mvh, Vide

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Nej, tyvärr. Det är inte möjligt att läsa från en fil med JavaScript.

:)

VideMedlem sedan dec. 19998 577 inlägg
#5

Okej, då vet jag det. :)

Får bli med ett serverspråk då.

Men, kan man inte om klassen är tilldelad en tagg, hämta värdet ifrån taggen då?

JojoxxMedlem sedan juni 20004 308 inlägg
#6

Men, kan man inte om klassen är tilldelad en tagg, hämta värdet ifrån taggen då?

Nej, värdet tillhör inte elementet utan klassen som den tillhör... Det är lite rörigt. Men däremot ska det fungera (om jag inte minns helt fel) även om css-informationen länkas in externt. Men däremot måste du vänta tills filen är laddad innan för försöker läsa värdet, i.e. onload i body-elementet exempelvis.

Ps.
Har provat nu. Det fungerar om du kör det onload.

VideMedlem sedan dec. 19998 577 inlägg
#7

Aha, okej, då skall jag stuva om och testa ytterligare. :)

Tackar!

122 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)