Bernd Plontsch: Problem mit dem Ansprechen einer Variable als Variable

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.

  1. 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

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    1. Vielen Dank Andreas für deine konstruktive Hilfe!

  2. 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®