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
6 svar · 285 visningar · startad av Vide
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
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>
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
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å?
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.