/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
css, ID tags og javascript
Fra : kim isaksen


Dato : 05-10-04 17:22

Hejsa.

Jeg sidder i et projekt hvor jeg fra xml har kreeret n div's med unikke
ID er.

Nu vil jeg så lave en function der onclick på et vilkårligt div sætter
mig i stand til at editere css på div'et. Dog Kun det css der er
defineret i et styleSheet per div'ets ID tag.

eks med et div..!
__HTML koden....__

<div onclick='getCssData(this)' id='asdf'>asdf</div>

__til det findes der en style i et stylesheet (title='id_sheet')__

#asdf{
float:right;
padding-right:2px;
}

så nu skal jeg så finde alt cssData til stylen. Jeg har efter en lang
kamp nået frem til flg. (jeg har 4 forskellige stylesheets på siden
derfor første for sætning). Jeg ved godt at document.all er en lortet
måde at finde IE på. Men klokken blev altså mange i går aftes :)
-->

function getCssData(s){   
   stylesheets = document.styleSheets
   for (x=0;x<stylesheets.length ;x++ ){
      if (stylesheets[x].title=='id_sheet'){   
         if (document.all){
            obj = stylesheets[x].rules
         }
         else{
            obj = stylesheets[x].cssRules
         }
      }
   }

   for (x=0;x<obj.length ;x++ ){
      if (obj[x].selectorText=="#"+s.id){
         if (document.all){
         str = "#"+s.id+"{"+obj[x].style.cssText+"}";
         }
         else{
         str = obj[x].cssText;
         }
         
         //formatering af str view   
         str = str.replace(/\{/,"{\n ");
         str = str.replace(/\}/,"\n}");
         str = str.replace(/\;/g,";\n ");         
      }
   }
return str;
}

-------------------------------------------------
Men der må da være en lettere måde ?

mvh Kim Isaksen

 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste