Links per JS ändern
Roland
- javascript
hi!
Wie kann ich per js den link bei einem bild ändern bzw. was stimmt hier nicht?
=>
[lang=html]
<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>
[/lang]
DANKE
Roland
hallo,
function switchLink(Nr) {
onclick="test()"
Es könnte nützlich sein, eine Funktion aufzurufen, die es gibt.
Grüße aus Berlin
Christoph S.
Hi Christoph!
Is dir denn nicht aufgefallen, dass ich den code auf das wesentliche gekürzt hab? die img-src heißt ja auch nicht "..." ;-)
Aber welche funktion aufgerufen wir is doch egal, es sollte sich nur der onclick ändern, wenn die funktion switchLink(2) aufgerufen wird ;-)
lg
Roland
hallo,
Is dir denn nicht aufgefallen, dass ich den code auf das wesentliche gekürzt hab?
Ist dir denn nicht aufgefallen, daß ich für meine Antwort deine Fragestellung auf das wesentliche gekürzt habe?
Grüße aus Berlin
Christoph S.
Hi,
Is dir denn nicht aufgefallen, dass ich den code auf das wesentliche gekürzt hab?
auch dann sollte der Code in sich stimmig sein.
Aber welche funktion aufgerufen wir is doch egal, es sollte sich nur der onclick ändern, wenn die funktion switchLink(2) aufgerufen wird ;-)
Dir ist bewußt, daß "2" und 2 völlig verschiedene Werte sind?
text/JavaScript ist übrigens auch kein gültiger mime-typ und was document.link soll, weiß ich erst recht nicht.
freundliche Grüße
Ingo
Hello out there!
text/JavaScript ist übrigens auch kein gültiger mime-typ
Doch. “All media type values, subtype values, and parameter names as defined are case-insensitive.” [RFC2045]
(Es sei denn, du meintest, dass 'text/javascript' obsolet ist und stattdessen 'application/javascript' bzw. 'application/ecmascript' registriert sind. Äh nein, glaub nicht, dass du das meintest. Diese Typen funktionieren in Browsern (noch) nicht.)
See ya up the road,
Gunnar
Hi,
Doch. “All media type values, subtype values, and parameter names as defined are case-insensitive.” [RFC2045]
Danke fürs raussuchen. Ich hatte wohl zu sehr die Konventionen von XHTML verinnerlicht...
freundliche Grüße
Ingo
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