Ashura: Links per JS ändern

Beitrag lesen

Hallo Roland.

<head>
<script language="JavaScript" type="text/JavaScript">
   function switchLink(Nr) {
    if (Nr=="1") { document.link.onclick.value = "test(1)"; }
    if (Nr=="2") { document.link.onclick.value = "test(2)"; }
   }
</script>
</head>
<body>
<a href="#" onclick="test()" id="link"><img src="..."></a>
</body>

  
Wie Christoph schon bemerkte, musst du due „switchLink“-Funktion schon aufrufen.  
  
Aber die Funktion selbst ist stark überarbeitungswürdig. Du stützt dich auf das veraltete document.all; nutze lieber die document.<http://de.selfhtml.org/javascript/objekte/links.htm@title=links>-Kollektion, um auf den jeweiligen Link zuzugreifen.  
  
Des weiteren verfügt die onclick-Eigenschaft über keine value-Eigenschaft, welcher du einen Wert zuweisen könntest. Du kannst der onclick-Eigenschaft entweder eine Referenz auf eine Funktion zuweisen:  
  
~~~javascript
function foo() {  
  alert('FOO');  
}  
  
objekt.onclick = foo;

Oder aber, wenn du wie hier einen Wert übergeben möchtest, eine anonyme Funktion verwenden:

objekt.onclick = function() {  
  test(1);  
};

Und nun musst du uns nur noch die Funktion „test“ zeigen und überhaupt erst einmal beschreiben, was das ganze am Ende bewirken soll.

Einen schönen Freitag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]