webForumDet fria alternativet

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

JavaScript

6 svar · 285 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#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

Medlem 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>
Medlem 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

Medlem sedan dec. 20025 483 inlägg
#4

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

:)

Medlem 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å?

Medlem 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.

Medlem sedan dec. 19998 577 inlägg
#7

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

Tackar!

272 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)