heey allemaal

in php kun je kijken of een varibele bestaat door:

if(isset($var))
{
doe dit
}


maar hoe kun je dit doen in javascript?
<?
if(iets) {
alert('hij bestaat');
}

var iets = 'hello world';

if(iets) {
alert('hij bestaat nog steeds');
}

iets = null;

if(iets) {
alert('en ook als ik hem op null zet');
}
?>

Test het maar uit zou ik zeggen ^^

Maar iig, je gebruikt gewoon if(iets), isset bestaat niet in Javascript en is dus ook niet nodig. Je krijgt geen notice :)
oke :-)

nu het volgende:

waarom is dit fout:

<?
<script language="javascript">
if(document.getElementById('head').style.height == 0)
{
document.write('<a href="#" onclick="javascript:weergeefhead()">weergeef header</a>')
}
else
{
document.write('<a href="#" onclick="javascript:verberghead()">verberg header</a>')
}
</script>
?>

dit geeft altijd <a href="#" onclick="javascript:weergeefhead()">weergeef header</a> :-s
Wat geeft dit als uitvoer?
<?
<script language="javascript">
alert(document.getElementById('head');
</script>
?>
achter alert(document.getElementById('head') nog een ) dus:

alert(document.getElementById('head')); :-p

maar dit geeft: NULL
Dan kan javascript dus geen element met id="head" vinden. Zo simpel is het.
@Jelmer JAVA en javascript lijken toch erg veel op elkaar. En ik weet dat bv zoals isset() er bij Java fouten op treden maar het script blijft werken. Dus wel noticen denk ik in javascript. Maar iig het is niet nodig en het bestaat daarentegen ook niet.
maar dat is er wel jelmer ;-)

Ik denk dat dat komt doordat ik dit script niet in de <head> heb gezet, maar in de <body> ONDER de head div.

Dus ik moet het waarschijnlijk in de head zetten om het te laten werken, maar in de head kun je geen text writen.

Hoe los ik dit op
Het script wat je nu hebt in de HEAD plaatsen en dan een apparte 'wegschrijf-functie' maken en die in de BODY zetten?
jah lekker snugger Ponzi, zover was ik ook al wel :-p

Maar hoe doe ik zoiets :P

edit:

heb nu namelijk in de head:

<?
<script language="javascript">
if(document.getElementById('head').style.height == 0)
{
var link = '<a href="#" onclick="javascript:weergeefhead()">weergeef header</a>';
}
else
{
var link = '<a href="#" onclick="javascript:verberghead()">verberg header</a>';
}
</script>
?>

en in de body:

<?
<script language="javascript">
document.write(link)
</script>
?>

maar dit schijrft: undefined
Ik zal er even naar kijken.

Reageren