Problem mit dem Ansprechen einer Variable als Variable
Bernd Plontsch
- javascript
ich habe hier eine variable "pfeilehier" die als Wert die id eines links enthält (z.B. "eins")..
nun soll sich in der funktion das ansprechen von document.all.xxxx.offsetLeft genau auf diese id beziehen...
logisch gesehen also:
document.all.pfeilehier.offsetLeft
leider ignoriert javascript, dass "pfeilehier" eine variable mit wert (den ich ja eigenltich referenzieren will) ist und nimmt den namen pfeilehiert als namen direkt..
Wie kann ich in Javascript sagen, dass ich den Wert hinter der Variablen haben möchte?
Mein Beispiel:
<script>
function beitragsnav_pfeile(pfeilehier){
alert (pfeilehier);
alert (document.all.pfeilehier.offsetLeft);
}
</script>
<body>
<a id="eins" onfocus="Javascript: beitragsnav_pfeile('eins');" href="debug_pfeile.php"> ersterLink</a>
<br>
<a id="zwei" onfocus="Javascript: beitragsnav_pfeile('zwei');" href="debug_pfeile.php"> zweiLink</a>
</body>
Grüße,
Bernd.
Hi,
ich habe hier eine variable "pfeilehier" die als Wert die id eines links enthält (z.B. "eins")..
Nein, einen Parameter...
nun soll sich in der funktion das ansprechen von document.all.xxxx.offsetLeft genau auf diese id beziehen...
Daß Du damit ausschließlich IE versorgst und alle anderen Browser ausschließt, ist Dir klar?
logisch gesehen also:
document.all.pfeilehier.offsetLeft
Warum nicht getElementById?
1. sind dann alle modernen Browser angesprochen
2. kannst Du dieser Funktion einfach den Parameter weiterreichen und es wird - falls vorhanden - das Element gefunden.
leider ignoriert javascript, dass "pfeilehier" eine variable mit wert (den ich ja eigenltich referenzieren will) ist und nimmt den namen pfeilehiert als namen direkt..
Klar, so hast Du es ja auch hingeschrieben...
Wie kann ich in Javascript sagen, dass ich den Wert hinter der Variablen haben möchte?
s.o.
<script>
type-Attribut ist Pflicht.
function beitragsnav_pfeile(pfeilehier){
alert (pfeilehier);
alert (document.all.pfeilehier.offsetLeft);
document.all - s.o.
}
</script>
<body>
<a id="eins" onfocus="Javascript: beitragsnav_pfeile('eins');" href="debug_pfeile.php"> ersterLink</a>
javascript: in eventhandlern führt zu Fehlern...
<br>
<a id="zwei" onfocus="Javascript: beitragsnav_pfeile('zwei');" href="debug_pfeile.php"> zweiLink</a>
javascript: in eventhandlern führt zu Fehlern...
</body>
cu,
Andreas
Vielen Dank Andreas für deine konstruktive Hilfe!
Hallo!
Oh...oh!
Das ist IE4- Code und wird nicht mehr lange funktionieren! (In Mozilla, Netscape, Opera, Konquerror... lief das noch nie...)
alert (document.all.pfeilehier.offsetLeft);
alert (document.getElementById(pfeilehier).style.left);
Schau Dir bitte die DOM-Referenz und die Beispiele an. Achte auf die Symbole, da wird angezeigt, was nur der IE4 oder NS4 (beide veraltet) verstehen.
http://selfhtml.teamone.de/javascript/index.htm
fastix®