[JS] CSS-eigenschap gedefiniëerd in stylesheet opvragen

Pagina: 1
Acties:
  • 272 views sinds 30-01-2008
  • Reageer

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Cascading Stylesheet:
1
2
3
4
5
.content
{
    height:100px;
    overflow:scroll;        
}

JavaScript:
1
contentIDHeight=document.getElementById(contentID).style.height;

Het probleem is dat ik een lege waarde terugkrijg. contentID klopt, die verwijst naar het goede element.

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 23:49
Dat komt omdat de style property van een element alleen maar geldig is voor inline styles. Op Quirksmode - Get Styles is meer te vinden over oplossingen.

Regeren is vooruitschuiven


Verwijderd

zou je voorbeeld code kunnen posten? verder probeer eens een alert van
JavaScript:
1
document.getElementById(contentid);

en kijk of het een htmlobject van het juiste type is en of je andere waarden wel kunt uitlezen.

@boven, interresant ff checken :) heb er overgens nooit problemen mee gehad om block level elements uit te lezen.

[ Voor 20% gewijzigd door Verwijderd op 13-06-2007 09:27 ]


Verwijderd

getComputedStyle() is je vriend

behalve in IE

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 23:49
Verwijderd schreef op woensdag 13 juni 2007 @ 09:24:
@boven, interresant ff checken :) heb er overgens nooit problemen mee gehad om block level elements uit te lezen.
Het gaat niet om inline-danwel block-level elementen. Het gaat om inline gedefinieerde stle declaraties. Vergelijk:
HTML:
1
2
3
4
5
6
 <style type="text/css">
  #click { background: blue; width: 100px; }
 </style>

  <div style="width: 100px; background: red;" onclick="alert(this.style.width)">foo</div>
  <div id="click" onclick="alert(this.style.width)">bar</div>

Regeren is vooruitschuiven


Verwijderd

Got it, leermomenten zijn goed ;) thanks man.

  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
T-MOB schreef op woensdag 13 juni 2007 @ 09:23:
Dat komt omdat de style property van een element alleen maar geldig is voor inline styles. Op Quirksmode - Get Styles is meer te vinden over oplossingen.
Kijk, ik vroeg me al af wat ik verkeerd deed. Bedankt! Weet je misschien nog een manier om external stylesheets uit te lezen?
Verwijderd schreef op woensdag 13 juni 2007 @ 09:35:
getComputedStyle() is je vriend

behalve in IE
Laat het nou net _ook_ in IE moeten werken :P

Verwijderd

Mei schreef op woensdag 13 juni 2007 @ 10:34:

Laat het nou net _ook_ in IE moeten werken :P
JavaScript:
1
element.currentStyle

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 23:49
Mei schreef op woensdag 13 juni 2007 @ 10:34:
Kijk, ik vroeg me al af wat ik verkeerd deed. Bedankt! Weet je misschien nog een manier om external stylesheets uit te lezen?
Op die pagina waar ik naar linkte staat een complete uitwerking van een cross-browser oplossing om de toegepaste style van een element te krijgen. Die werkt zoals mophor en Blues opmerkten met computedStyle en currentStyle ...

Regeren is vooruitschuiven


  • Mei
  • Registratie: Juni 2005
  • Laatst online: 17-10-2024
Verwijderd schreef op woensdag 13 juni 2007 @ 10:45:
[...]

JavaScript:
1
element.currentStyle
Ga ik eens proberen :)

@T-MOB: Oeps, ik lees weer eens niet... Thanks!
Pagina: 1