Avatar billede lajer Nybegynder
23. januar 2004 - 00:18 Der er 6 kommentarer og
1 løsning

Hent alt fra CSS Class !

Hej.

Er det muligt at hente fra en css klasse?

noget i stil med:

// CSS
.Test { font-weight:bold; }

// JScript
document.getCssContentByClassName("Test") ?

Long shot, men det må da kunne lade sig gi' sig?

Ps. løsninger der kun virker i IE 5.x er fint !

// Lajer
Avatar billede grunken Nybegynder
23. januar 2004 - 00:36 #1
øeh?
hvis indholdet bare skal gives til et objekt er det bare at:

document.getElementById('elmentet').className = "cssklassen";
Avatar billede lajer Nybegynder
23. januar 2004 - 01:08 #2
Det er ikke planen nej!

Planen er at hente alt hvad der står imellem de to brackets i css klassen til en jscript variabel.

Ved ikke om det kan lade sig gøre.
Avatar billede nute Nybegynder
23. januar 2004 - 10:21 #3
Det var lidt bøvlet at få dette til, men jeg kunne ikke lige finde en nemmere måde at gøre dette på.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
    <style>
    .test
    {
        color:#E4E4E4;
        font-family:verdana;
        background-color:red;
    }
    .test1
    {
        color:#D3D3D3;
        font-family:tahoma;
        background-color:green;
    }
    </style>
    <script language="JavaScript" type="text/javascript">
    <!--
    var objStyle = null;
    function getStylesForClass( p_strClassName )
    {   
        objStyle = document.getElementById( "styleBase" ).style
        var objRules = document.styleSheets[0].rules;
        var strResult = "";
        for( i = 0; i < objRules.length; i++ )
        {
            if( objRules.item( i ).selectorText == "." + p_strClassName )
            {
                var objClass = objRules.item( i );
                for( var strStyle in objStyle )
                {
                    if( objClass.style.getAttribute( strStyle ) )
                    {
                        strResult += strStyle + ": " + objClass.style.getAttribute( strStyle ) + "\n";
                    }
                   
                }
                break;
            }
           
        }
        document.getElementById( "txtResult" ).value = strResult;
    }
    //-->
    </script>
</head>

<body>
<p id="styleBase" style="display:none"/>
<div class="test">Dette er klassen 'test'</div><input type="button" value="Se class værdier for 'test'" onclick="getStylesForClass( 'test' );">
<div class="test1">Dette er klassen 'test1'</div><input type="button" value="Se class værdier for 'test1'" onclick="getStylesForClass( 'test1' );"><br>
<textarea cols="50" rows="10" id="txtResult"></textarea>
</body>
</html>

/nute
Avatar billede pelkjaer Nybegynder
23. januar 2004 - 10:39 #4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normalskrift {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 11px;
  line-height: 21px;
  color: #000000;
}
.overskrift {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #000000
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
_initStyle = function() {
  var val,i,h,selArr,itemCount,sHTML="<select name=\"cssstyle\"><option selected> -- Css styles -- </option>",d=document;
  for (i=0; i<d.styleSheets(0).rules.length; i++) {
    h=d.styleSheets(0).rules.item(i).selectorText;
    selArr = h.split(".");
    itemCount = selArr.length;
    if (itemCount>1) {
      val = selArr[1];
    } else {
    val = h;
    }
    sHTML += "<option value=\""+val+"\">" + val + "</option>";
  }   
  sHTML += "</select>";
  divStyle.innerHTML = sHTML;
}
window.onload = _initStyle;
//-->
</script>
</head>
<body>
<div id="divStyle"></div>
</body>
</html>
Avatar billede nute Nybegynder
23. januar 2004 - 10:44 #5
pelkjaer >> du mangler så det der står *mellem* brackets for klassen (se: 23/01-2004 01:08:13)

;-) nute
Avatar billede pelkjaer Nybegynder
23. januar 2004 - 10:45 #6
Yeps - det var blot en gammel snippet jeg rettede en smule i som måske kunne give inspiration, derfor også kun en kommentar :)
Avatar billede nute Nybegynder
23. januar 2004 - 10:50 #7
ah ... I c

:-)
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