molily: Übergabewert (lokale Variable) in anderer Funktion verwenden

Beitrag lesen

Da lag ich ja richtig mit meiner Vermutung. Du kannst hier einfach an drop1 bzw. drop2 einen Event-Handler registrieren, der alle Klicks auf die verschachtelten a-Elemente abfängt. Und die Art der Reise bzw. den Ortsnamen kannst du direkt dem a-Element entnehmen (innerHTML bzw. innerText/textContent). Den Dateinamen würde ich ins href-Attribut schreiben (die URL sollte auch erreichbar sein).

<ul class="drop2">  
<li><a href="bangkok.html">Bangkok</a></li>  
<!-- usw. -->  
</ul>
document.getElementById('drop2').onclick = function(event) {  
  event.preventDefault(); // [link:http://molily.de/js/event-handling-objekt.html#standardaktion@title=Standardaktion unterdrücken]  
  var target = event.target || event.srcElement; // [link:http://molily.de/js/event-handling-objekt.html#currenttarget-target@title=Zielelement]  
  if (target.nodeName !== 'A') return;  
  var city = target.innerHTML;  
  var url = target.href;  
  wohin(city, url);  
};

(ungetestet)

Damit werden IDs unnötig und du musst nicht jedem Element einen einzelnen Event-Handler zuweisen. Genauer wird das Vorgehen wie gesagt unter Effiziente Ereignisverarbeitung mit Event Delegation beschrieben.

Grüße,
Mathias