IE-Bug: Jetzt verwechselt er schon Namen mit Id's.
Bürgle
- browser
Hi!
So langsam kann ich die "IE-Hasser" hier verstehen:)
Bei mir scheint der IE6 name="..." und id=".." nicht richtig differenzieren zu können:(
Damit:
<body>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div id="multicolor"></div>
<script type="text/javascript">
alert("Anzahl gefundener Tags Namens multicolor: "+document.getElementsByName("multicolor").length);
</script>
</body>
finder er nur ein einzigen Tag mit dem Namensattribut, Mozilla findet 6!
Ist das bei Euch auch so oder hab ich da was falsch gemacht?
Freue mich über Eure Testberichte.
Grüße, Bürgle
http://www.benotung.de
hehe,
ja, abgefahren - ist bei mir genause (ie5.5)
ist wohl sicherer namen und ids unterschiedlich zu betieteln
gruss
moejoe
hi
<div name="multicolor">.</div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div id="multicolor"></div>
Auf jeden Fall ist für den IE id="" und name="" das gleiche, also wird er den finden, wo der . drin is (bei document.multicolor übrigens auch..)
Was willst du erreichen mit der Sache, vielleicht geht's anders..?
Grüße aus Bleckede
Kai
Hallo,
Bei mir scheint der IE6 name="..." und id=".." nicht richtig differenzieren zu können:(
Damit:<body>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div id="multicolor"></div>
<script type="text/javascript">
alert("Anzahl gefundener Tags Namens multicolor: "+document.getElementsByName("multicolor").length);
</script>
</body>finder er nur ein einzigen Tag mit dem Namensattribut, Mozilla findet 6!
Ist das bei Euch auch so oder hab ich da was falsch gemacht?
div-Elemente haben kein Attribut name und deshalb sollte Mozilla eigentlich 0 zurueck geben. Der IE nimmt hier offenbar name als id an. IMHO verhalten sich hier beide Browser nicht korrekt.
MfG, Thomas
Hallo Thomas,
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div name="multicolor"></div>
<div id="multicolor"></div>
[...]
div-Elemente haben kein Attribut name und deshalb sollte
Mozilla eigentlich 0 zurueck geben.
*Das* ist Ansichtssache. Es ist immer noch Aufgabe des
Browsers, fehlertollerant zu sein. Aber zumindest eine
Warning waere nett, IMHO.
Gruesse,
CK
Hi,
Bei mir scheint der IE6 name="..." und id=".." nicht richtig differenzieren zu können:(
Zumindest für anchor ist festgelegt:
The id and name attributes share the same name space.
<div name="multicolor"></div>
Du verwendest ein Attribut, das für div nicht erlaubt ist, und beschwerst Dich dann, daß es nicht so funktioniert, wie Du es möchtest.
cu,
Andreas
Moin!
So langsam kann ich die "IE-Hasser" hier verstehen:)
Bei mir scheint der IE6 name="..." und id=".." nicht richtig differenzieren zu können:(
Damit:
<div name="multicolor"></div>
<div id="multicolor"></div>
finder er nur ein einzigen Tag mit dem Namensattribut, Mozilla findet 6!
Ist das bei Euch auch so oder hab ich da was falsch gemacht?
Freue mich über Eure Testberichte.
Tja, das Problem ist, dass du invalides HTML produziert hast: ID-Bezeichner und Name-Bezeichner benutzen den gleichen Namensraum! Das bedeutet, dass ein Bezeichner für eine ID nicht noch mal anderweitig als Bezeichner für einen name auftreten darf.
Siehe dazu auch http://www.w3.org/TR/html401/struct/links.html#h-12.2.3 (etwas weiter unten: ILLEGAL EXAMPLE).
Außerdem ist das Name-Attribut nur für Anker definiert, nicht für DIVs. Insofern macht der IE eigentlich alles richtig: Die name-Angaben in den DIVs ignoriert er, die ID-Angabe nimmt er als korrekt hin.
Dass der Mozilla dennoch die name-Zuweisung akzeptiert, bedeutet nicht, dass es korrekt ist. Vermutlich ist er einfach so programmiert, dass er name-Angaben in jedem Tag intern für getElementByName zur Verfügung stellt. Da name aber kein Universalattribut ist (ganz im Gegensatz zu id und z.B. class), ist das eigentlich falsch.
- Sven Rautenberg
Hallo Sven,
[...] Insofern macht der IE eigentlich alles richtig: Die name-Angaben in den DIVs ignoriert er, die ID-Angabe nimmt er als korrekt hin.
Wie kommt das dann, dass es getElementsByName heißt, und der IDs
verwendet?
Peter
Moin!
[...] Insofern macht der IE eigentlich alles richtig: Die name-Angaben in den DIVs ignoriert er, die ID-Angabe nimmt er als korrekt hin.
Wie kommt das dann, dass es getElementsByName heißt, und der IDs
verwendet?
Ähm - ja, da hast du natürlich auch wieder Recht. #-)
- Sven Rautenberg