Cybaer: alle ids einer seite auslesen

Beitrag lesen

Hi,

Damit habe ich auch mal experimentiert, es aber wieder verworfen, da es AFAIR nicht mit jedem (DHTML-)Browser funktioniert hat.
soweit ich mich erinnere nur in den ersten Mozilla Versionen

Da erinnerst Du leider falsch. :-o

Ich weiß nicht, was z.B. die alten Opera-Versionen dazu sagen (na ja, der kann DOM ja eigentlich auch ohnehin erst jetzt >;-> - hoffentlich), aber die IE 5.x können das ebenfalls nicht! :-(

Und wozu inkompatibel werden und Fehler provozieren? Geht ja auch ohne ...

... tipp tipp ... ;-)

... z.B. so:

  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
<head>  
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">  
<title>get IDs</title>  
<script type="text/javascript">  
function getIDs(obj) {  
 var recursive, id=false;  
 if(document.getElementById) {  
  id=new Array();  
  obj=(typeof(obj)=="object" && obj)?obj:document.getElementsByTagName("body")[0];  
  recursive=function(obj) {  
   for(var i=obj.firstChild; i!=null; i=i.nextSibling) {  
    if(i.nodeType==1) {  
     idValue=i.getAttribute("id");  
     if(idValue) { id[id.length]=idValue; }  
     recursive(i);  
    }  
   }  
  }  
  recursive(obj);  
 }  
 return id;  
}  
  
function dumpArray(array,id) {  
 if(document.getElementById && document.getElementById(id) && array.length) {  
  var i, dump="<ol>";  
  for(i=0;i<array.length;i++) { dump+="<li>"+array[i]+"<\/li>"; }  
  dump+="<\/ol>";  
  document.getElementById(id).innerHTML=dump;  
 }  
}  
  
</script>  
</head>  
  
<body onload="dumpArray(getIDs(),'output');">  
  
<div id="ID1"><span id="nextID">IDs</span>:  
  
<div id="output"></div>  
</div>  
  
<div id="lastID"></div>  
  
</body>  
</html>  

getIDs() gibt ein Array aller IDs des Dokumentes zurück, das mit dumpArray dann (in die Seite) ausgegeben wird. Man könnte getIDs() auch noch ein Objekt übergeben (hier z.B. document.getElementById('ID1')). Dann werden entsprechend nur die IDs ermittelt, die in diesem Zweig sind.

Gruß, Cybaer (Verbesserungsvorschläge erwünscht, da die Routine nicht aus dem "getesteten Fundus" stammt)

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!