Toon posts:

[js] variabele naam niet toegestaan?!

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een functie gebruik ik het volgende:

if(totalImgDescr = document.getElementById('blaat')){
....... doe iets met totalImgDescr
}

In Internet Explorer krijg ik nu een JavaScript foutmelding:
"Deze eigenschap of methode wordt niet ondersteund door dit object regel x karakter x"
en dat wijst dus naar bovenstaande toekenning.

In FireFox werkt het echt wel.

Ik heb me suf zitten zoeken, want ik dacht dat er syntactisch iets fout zat.
Dus dacht ik: weet je wat, eens een andere variabele naam gebruiken.
En ja hoor, toen werkte het wel!
Kan iemand mij uitleggen waarom het in IE niet werkt, is dit een gereserveerde naam of iets dergelijks?!

aanvullende informatie:
== en =

met == doe je een vergelijking, maar ik ken nu gelijk het object aan een variabele toe.
Dus dat klopt wel .. ik wil namelijk iets met die variabele gaan doen.

Harde refresh: ik ontwikkel al een tijdje 1 en ander. Dus dat heb idd ook geprobeerd.
Ook heb ik het javascript includen gedaan met een willekeurige variabele, zodat ie m niet uit de cache leest.

[ Voor 25% gewijzigd door Verwijderd op 13-07-2005 14:05 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Het heeft niks met je variabele naam te maken. Haal sowieso die if weg als je toch alleen een toewijzing doet.

Je levert heel weinig relevante code op, dus het lijkt me handiger om even een simpele testcase te maken, waarbij je zal zien dat het dan ineens wel werkt ;). Mocht het niet werken, dan zien we graag een volledigere testcase hier.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
En waarom werkt het met een andere variabele wel vraag ik me dan af.
En die if is wel goed hoor.
Als namelijk dat object met getElementByID niet wordt gevonden resulteert dat in een false en wordt de actie afgebroken.

Ik controleer zo dus of een object bestaat en als ie bestaat ken ik er een variabele aan toe, waarmee ik kan werken.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

getElementById returned null als het element niet gevonden kan worden en niet false ;)

Overigens is een assignment in een conditie wel een bad practice en gaat zeker problemen opleveren mbt precedence op het moment dat je de conditie uitbreidt. Het levert ook niet voor niets een strict warning op *
Dit zijn betere alternatieven:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
// los:
var totalImgDescr = document.getElementById('blaat');
if (totalImgDescr)
{
    // doe iets met totalImgDescr
}

// expliciet in eigen extra brackets:
var totalImgDescr; // altijd netjes declareren ;)
if ( (totalImgDescr = document.getElementById('blaat')) )
{
    // doe iets met totalImgDescr
}


* in de web developer toolbar voor Firefox kan je strict warnings aanzetten voor het javascript console

[ Voor 10% gewijzigd door crisp op 13-07-2005 14:26 ]

Intentionally left blank


Verwijderd

Topicstarter
Kijk daar heb ik wat aan! Bedankt Crisp!

[ Voor 3% gewijzigd door Verwijderd op 13-07-2005 14:23 ]