[JS] setAttribute workaround werkt niet voor IE7

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Jiggle
  • Registratie: December 2007
  • Laatst online: 22-03-2021
Ik wil mbv Javascript de class van een element in mijn website wijzigen. Ik had al begrepen dat ik hier IE-issues mee krijg, maar de workaround die ik voor IE7 dacht te hebben werkt op de een of andere manier niet.

code:
1
2
3
4
5
6
7
8
9
function changeclassNetto(id) {
    
dataObj = document.getElementById(id);

if ( dataObj.className == 'weergave_bruto')
{
  dataObj.setAttribute('className', 'weergave_netto');
}
}


Hoe krijg ik dit werkend in IE7?

Acties:
  • 0 Henk 'm!

Verwijderd

Wat werkt er dan nu precies niet?
Zou je die javascript kunnen debuggen en bijvoorbeeld kijken of hij dat if-statement wel ingaat .

edit: moet het geen "class" zijn ipv "className"?

[ Voor 16% gewijzigd door Verwijderd op 09-05-2011 13:09 ]


Acties:
  • 0 Henk 'm!

  • Jiggle
  • Registratie: December 2007
  • Laatst online: 22-03-2021
De gewijzigde CSS wordt niet 'gebruikt', zie ik nu.

Door een alert toe te voegen zie ik dat:
- het if-statement ingaat
- de klasse zelfs verandert wordt!

Alleen ik zie er vervolgens geen effect van. Hoe vaag?!

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:28

crisp

Devver

Pixelated

Gewoon geen setAttribute gebruiken:
if ( dataObj.className == 'weergave_bruto')
{
dataObj.className = 'weergave_netto';
}

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Jiggle
  • Registratie: December 2007
  • Laatst online: 22-03-2021
Maar dit werkt ook niet in IE7.
Het probleem lijkt niet in setAttribute te zitten, want de klasse verandert gewoon.
Het probleem is dat dit hier in IE7 vervolgens geen gevolg aan gegeven wordt. Ik snap echt niet hoe dat kan.

Acties:
  • 0 Henk 'm!

  • Flowmo
  • Registratie: November 2002
  • Laatst online: 18-08 08:24
als de classname door de JS ge-set wordt (en je dit kan verifieren met een get) en dit werkt, dan schort er of iets aan de class die je meegeeft in de JS of in je CSS zelf. Dit zou namelijk gewoon moeten werken.

Acties:
  • 0 Henk 'm!

  • Jiggle
  • Registratie: December 2007
  • Laatst online: 22-03-2021
Klopt.

Ik wil met deze functie een kolom in een tabel visible of invisible maken. De klasse togglet daarom van display:none naar display:inline. De functie werkt dus twee kanten op (iets uitgebreider dan bovenstaand dus)

Het vreemde is nu:
- Als ik met display:none begin, dan werkt het niet.
- Als ik met display:inline begin, dan werkt het wel. Heen en weer.

Vaag, hoe kan dat?!

Acties:
  • 0 Henk 'm!

  • Jiggle
  • Registratie: December 2007
  • Laatst online: 22-03-2021
Opgelost.
Ik wilde een td-element uit een tabel invisible maken. Dat bleek te moeilijk voor IE7. Heb nu de tekst in dat element in een span gezet en daar de klasse in gezet die moet toggelen. Dat werkt wel.

Senks!
Pagina: 1