JS funktioniert bei onclick="" aber nicht im Head

folio

Erfahrenes Mitglied
Hi,


ich habe ein Javascript, das wie folgt aussieht:

Code:
<li><a onclick="this.getElementsByTagName('span')[0].style.display='none';this.getElementsByTagName('span')[1].style.display='inline';return false;" href="#"> <span class="reveal">Preis anzeigen</span><span style="display:none;">19,90</span></a></li>

Das, was unter onclick="" steht, würde ich gerne in den Header auslagern. Das funktioniet aber nicht! Weiß jemand woran es liegt?
 
Code:
------------ window --------------------------------------
|                                          / \           |
|                                           |            |
|                                          this          |
|   ----------------                        |            |
|   | HTML element | <-- this         -----------------  |
|   ----------------      |           | doSomething() |  |
|               |         |           -----------------  |
|          --------------------                          |
|          | onclick property |                          |
|          --------------------                          |
|                                                        |
----------------------------------------------------------

D.h du musst der Funktion 'this' übergeben.
 
Ah ok, das hat geholfen. Allerdings fand ich das Tutorial etwas umständlich. Ich finds immer einfacher wenn jemand einfach ein Beispiel gibt, das funktioniert. Das kann man dann für die eigenen Zwecke umstricken.

Folgendes funktioniert nun:

Code:
<li><a onclick="reveal(this)" href="#"> <span class="reveal">Preis anzeigen</span><span style="display:none;">19,90</span></a></li>

Und das hier steht im Header:

Code:
	<script type="text/javascript">
	function reveal (obj){
 	obj.getElementsByTagName('span')[0].style.display='none';
 	obj.getElementsByTagName('span')[1].style.display='inline';
 	return false;
	}
	</script>
 

Neue Beiträge

Zurück