Problem mit getElementsByName

Orakel

Erfahrenes Mitglied
Hallo zusammen,

in einem Javascript möchte ich feststellen, wieviele HTML-Elemente mit einem bestimmten Namen vorkommen. Dazu benutze ich folgende Funktion:
Code:
function ShowExample()
{
  var szName = document.values.element_name.value;
  var nElements = parent.example.document.getElementsByName( szName ).length;
 
  alert( szName + "\n" + nElements );
}
Im IE klappt das wunderbar. Nur im Netscape (7.02) ist nElements immer 0.

Kann mir jemand erklären warum bzw. wie bekomme ich das im Netscape zum laufen.

Danke für jede Hilfe
Das Orakel
 
Hi Sven,

verschiedene. Tabellen, Tabellenzellen, Body usw. Es handelt sich hierbei um eine Anwendung, bei der der Anwender die Farbgebung und das Layout selber gestalten kann. Wie gesagt. Unter IE nullo Problemo. Nur der Netscape macht Ärger :). FireFox und Opera hab ich noch nicht probiert.

Gruß
Das Orakel
 
Wie gesagt... name ist kein Universalattribut.
Tabellen, Zellen und Body besitzen lt. HTML kein name-Attribut.

Du musst dir da etwas anderes einfallen lassen.

Du könntest dir z.B. eine eigene Funktion getElementsByClassName() schreiben, und die Elemente anhand des Klassennamens ermitteln.
 
Hi Sven

erst mal vielen Dank für Deine Antworten. Bei der Suche nach einer anderen Möglichkeit bin ich dann auch auf den Fehler gestoßen.
Lag am PHP-Script, dass die Beispielseite aufbaut. Hat irgendwie das Attribut Name zerwurschtelt.

Aber ich werde auf jeden Fall Deinen Hinweis berücksichtigen und einen anderen Weg suchen.

Was mich jetzt gewundert hat war die Tatsache, dass der IE über das ID-Attribut auf die Elemente zugegriffen haben muss. Kann das sein?

Gruß
Das Orakel
 

Neue Beiträge

Zurück