Danny: Elementzugriff unter Netscape 4.7

Beitrag lesen

Anwendung:

el = getElem(layername);
showElem(el); // bzw. hideElem(el);

var nn4, ie4, dom = false;

if (document.layers)
  nn4 = true;
if (document.all)
  ie4 = true;
if (document.getElementById) {
  nn4 = false;
  ie4 = false;
  dom = true;
}

function getElem(name)
{
 if (nn4) return findLayer(name, document);
 if (ie4) return eval('document.all.'+name);
 if (dom) return document.getElementById(name);
}
function findLayer(name, doc) // ns4: Routine, um den 'Pfad' zum Layer zu bestimmen
{
 for (var i=0; i<doc.layers.length; i++) // Die Layer des aktuellen 'document' Objekts durchsuchen
 {
  var layer = doc.layers[i];
  if (layer.name == name)  return layer; // Ist der aktuelle Layer der gesuchte?
  if (layer.document.layers.length > 0) // Wenn nicht, enthält er weitere Layer?
  {
   var layer = findLayer(name, layer.document); // Dann such dort, mit einem neuen document Objekt
   if (layer != null)  return layer; // In tieferer Ebene gefunden
  }
 }
 return null;              //  Layer nicht gefunden ;-[
}
function hideElem(elem)
{
 if (nn4) elem.visibility = "hide";
 else elem.style.visibility = "hidden";
}
function showElem(elem)
{
 if (nn4) elem.visibility = "show";
 else elem.style.visibility = "visible";
}