FsmE,
von "nicht erlaubt" kann keine Rede sein. Du bist nur selber schuld, wenn es Konflikte gibt.
Es *sollte* nur eine ID pro Namensraum(!) geben, weil beim DOM-Zugriff mit "getElementById('xy') nur die erste Fundstelle ausgegeben wird.
"getElementById('xy') entspricht also einer Suchfunktion, die einen Zeiger auf das erste gefundene Datum setzt und dann stehen bleibt, nicht aber wie "getElementsByName('xy')" oder "getElementsByTagName('xy')" einen Array mit Zeigern auf alle Fundstellen. Theoretisch könnte es auch eine ZugriffsMethode "getElementsById('xy')" geben, aber die wäre programmatisch nicht sinnvoll.
Der Grund ist der, daß das DOM für XML definiert wurde und nicht für HTML. XML kennt nicht - wie HTML - die restriktive Zuweisungsregeln des 'name'-Attributs nur für bestimmte TAGs.
Auch in HTML kannst Du aber durchaus verschiedene IDs vergeben, und das kann sogar sinnvoll sein - etwa wenn Du Deinen Code XML-konform, d.h. analog zu "wohlgeformtem" XML schreibst.
Beispiel:
<div id="XMLtree">
<div>
<h1 id="Titel">Überschrift</h1>
<h2 id="Untertitel">Untertitel</h2>
<p id="Teaser">Minitext</p>
<p id="Vortext">Alles Wesentliche</p>
<p>Lauftext</p>
<h2>Zwischentitel</h2>
<p>Lauftext</p>
</div>
<div>
<h1 id="Titel">Überschrift</h1>
<h2 id="Untertitel">Untertitel</h2>
<p id="Teaser">Minitext</p>
<p id="Vortext">Alles Wesentliche</p>
<p>Lauftext</p>
<h2>Zwischentitel</h2>
<p>Lauftext</p>
<h2>Zwischentitel</h2>
<p>Lauftext</p>
</div>
"document.getElementById('Titel')" würde Dir nur die erste Überschrift insgesamt liefern.
"document.getElementByID('XMLtree').getElementsByTagName('div')[n].getElementById('Untertitel')" würde Dir aber exakt den Untertitel des n-ten Artikels liefern.
Viel Spaß beim Tüfteln.
In sensibus mistis,
HaThoV
Besuchen Sie http://www.4html.de, wenn Sie an einer
Neuen Generation von Web-Publishing mitarbeiten wollen.