Hi,
mit nachfolgend aufgeführten JS-Beispiel habe ich einen Link zu einer html-Datei mithilfe der ID des Body-Tags konstruiert - was auch prima funktioniert:
function tree()
{
var file = '../folder_a/' + document.body.id + '.html';
parent.location.href = [file];
Was sollen die eckigen Klammern um file, bevor du es location.href zuweist?
Damit konstruierst implizit ein Array. Wenn du dieses location.href zuweist, dann funktioniert das nur deshalb, weil dessen toString-Methode in diesem Spezialfall wieder den Inhalt seines einzigen Elementes liefert.
Analog zu diesem Beispiel möchte ich nun gerne Anker verwenden.
Meine bislang ausprobierten Varianten wollten es nicht tun:function tree()
{
var file = '../folder_a/' + document.anchors[#].name + '.html';
Was soll denn das # hier?
document.anchors liefert eine NodeList, und auf deren Elemente greift man i.a.R. ueber einen nullbasierten nummerischen Index zu. # ist dazu aber herzlich wenig geeignet.
Hinzu kommt, dass ich gerne die Links zu den betreffenden html-files über die Anker-Namen im JS zentral verwalten möchte, dazu wäre allerdings die Übergabe des Namens ausgehend vom Anker an das JS entscheident, um eine Zuordnung zu erreichen.
<a name="item1" javascript:tree()">Window 1</a><br>
Na dann uebergebe den Inhalt des name-Attributs des aktuellen Objektes halt beim Funktionsaufruf als Parameter.
Ein Umgang mit dem anchor array [#], was sich an spezifischen Positionen orientiert, ist bei bestehender Anwendung leider nicht die Lösung.
Deshalb noch mal die Frage: Was wolltest du mit obigem Code und darin enthaltenem, m.E. vollkommen unsinnigem, document.anchors[#] denn ueberhaupt bezwecken?
Insofern stellt sich die Frage: Ist das überhaupt machbar?
Mir stellt sich derzeit immer noch die Frage, was hast du eigentlich vor?
Deine Beschreibung ist mir zu konfus, um das wirklich eindeutig herauslesen zu koennen.
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“