Warum wird in diesem Script die Variable nicht gefunden?
David Hörpel
- javascript
Hallo!
Kann mir einer sagen, warum die Variable in diesem Script nicht gefunden werden?
<html><head><title>Test</title>
<script type="text/javascript">
<!--
wert1 = "hallo";
wert2 = "hallo1";
function test()
{
if( wert1 == document.getElementsByName(wert1))
{location.href= "#"+wert1}
else if ( wert2 == document.getElementsByName(wert2))
{location.href= "#"+wert2 }
else {
alert("Not found!")
}
}
//-->
</script>
</head><body onload="test()">
<a name="hallo" href="#">ddd</a>
</body></html>
Gruß David!
Ps: Ich fange hier diesen neuen Thread ein, weil in diesem Thread hier http://forum.de.selfhtml.org/?t=47716&m=260571 eher andere Fehler beachtet wurden als die Syntaxfheler
Hallo David,
Ps: Ich fange hier diesen neuen Thread ein, weil in diesem Thread hier http://forum.de.selfhtml.org/?t=47716&m=260571 eher andere Fehler beachtet wurden als die Syntaxfheler
Dein Problem wurde Dir in dem anderne Thread schon von Thomas Meinike erläutert: [pref:t=47716&m=260602]!
</faq/>
Christian
Hallo!
Kann mir einer sagen, warum die Variable in diesem Script nicht gefunden werden?
Es gibt mehrere Variablen.
<html><head><title>Test</title>
<script type="text/javascript">
<!--
wert1 = "hallo";
wert2 = "hallo1";function test()
{
if( wert1 == document.getElementsByName(wert1))
du vergleichst einen String ("hallo") mit einem Array aus <a>-Elementen. Das kann nie gleich sein!
{location.href= "#"+wert1}
else if ( wert2 == document.getElementsByName(wert2))
hier genauso wie oben.
{location.href= "#"+wert2 }
else {
alert("Not found!")
folglich springt er immer hierrein!
}
}
//-->
</script>
</head><body onload="test()">
<a name="hallo" href="#">ddd</a>
</body></html>
document.getElementsByName(wert1) findet alle Elemente die den Namen wert1 haben (also hier "hallo").
Möchtest du nur die Anker haben (<a name="">) dann nimm folgendes:
document.anchors (funzt auch unter älteren Browsern)
Dann fragst du ab:
if(document.anchors[wert1]) // Schaut, ob es einen Anker mit dem Namen Wert1 gibt
Gruß
Christian