Avatar billede orca Nybegynder
23. februar 2004 - 00:29 Der er 3 kommentarer og
2 løsninger

Programmatisk fjernelse af CSS filter

Jeg har sat et CSS filter på et element:

<td style="filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FFFFFF,endColorStr=#D5D1C9)">

Er det muligt at fjerne/sætte sådan et filter programmetisk? Jeg kan ikke umiddelbart få det til at virke hvis filteret ligget i en stylesheet klasse, så className = 'enAndenKlasse' virker ikke.

Det skal udelukkende bruges til IE 6, så IE-only løsninger er helt okay.
Avatar billede bearhugx Nybegynder
23. februar 2004 - 00:47 #1
Hvis du sætter en ID på (f.eks. id="myTD")

så kan du gøre det via

  document.getElementById("myTD").style.filter =" progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FFFFFF,endColorStr=#D5D1C9)";



Her et et eksempel

<html>
    <script>
        function putFilter() {
            document.getElementById("myTD").style.filter = "progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#FFFFFF,endColorStr=#D5D1C9)";
        }
    </script>
    <body>
        <table><tr><td id="myTD"  style="">Bla bla bla</td></tr></table>

        <button onclick="putFilter();">Tryk her!</button>
    </body>
</html>
Avatar billede bearhugx Nybegynder
23. februar 2004 - 00:48 #2
kort sagt - du sætter style.filter property'en på elementet :-)

[element].style.filter = {filterdefinition}
Avatar billede roenving Novice
23. februar 2004 - 01:13 #3
?-)

Kan man ikke tilgå den slags filtre med filters-propertyen på objektet ?o]

-- altså uden .style. imellem, så det bliver htmlobject.filters = ...
Avatar billede orca Nybegynder
23. februar 2004 - 09:49 #4
Jeg siger tak :)
Avatar billede bearhugx Nybegynder
23. februar 2004 - 11:39 #5
roenving >> måske -- men så skal det være en form for shorthand angivelse ... Selvfølgelig, da det pt. kun er IE, som understøtter dette, så kan de mere eller mindre bestemme, hvordan property'en skal tilgås... Så det ville da ikke undre mig om de havde lavet en shorthand...

Men da jeg mener at det er vigtigt i koden at klargøre, at man er inde og arbejde på et elements style, så foretrækker jeg notationen [element].style.filter fremfor [element].filter
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