getElementById() -> getElementsById()
Berthold
- javascript
Hallo,
ich habe eine XML- Datei (ganz genau geschrieben eine svg- Datei) in welcher mehrere Elemente mit der gleichen id vorkommen können, wie im unteren Fall z.B.: id="Element1".
Wenn ich jetzt Elemente auslese mit
var componentElement = svggrafik.getElementById('Element1'));
dann bekomme ich das erste Element, gibt es eine Möglichkeit, dass ich beide Elemente mit der id Element1 bekomme?
lg
<rect
transform="matrix(0.8811881,0.0,0.0,1.56,62.61389,-120.560005)"
id="Element1"
x="474.0"
y="176.0"
width="100"
height="50"
fill="#bbbbbb"
stroke="black"
stroke-width="1">
</rect>
<rect
transform="matrix(0.8811881,0.0,0.0,1.56,62.61389,-120.560005)"
id="Element1"
x="474.0"
y="176.0"
width="100"
height="50"
fill="#bbbbbb"
stroke="black"
stroke-width="1">
</rect>
...
Hallo,
ids sind ids - eindeutige identifikatoren.
du kannst mit getElementsByTagName("rect") eine Objektliste aller rect-Elemente erhalten und dann testen
rects = getElementsByTagName("rect");
for (var i = 0; i < rects.length; i++) {
if(rects[i].id == "Element1") {
alert ("hallo" + i );
}
}
ungetestet.
Gruß
jobo
hi,
dann bekomme ich das erste Element, gibt es eine Möglichkeit, dass ich beide Elemente mit der id Element1 bekomme?
Id ist eindeutig, scheidet also aus. Was geht: das name-Attribut, das kann nämlich für mehrere Elemente gleich sein. Dafür gibts
document.getElementsByName('namename')
Damit kriegst Du ein Array.
Hotti
Id ist eindeutig, scheidet also aus. Was geht: das name-Attribut, das kann nämlich für mehrere Elemente gleich sein.
Das funktioniert aber nur, wenn das Element ein name Attribut hat, was nur in den wenigsten Fällen der Fall ist.
Struppi.
Id ist eindeutig, scheidet also aus. Was geht: das name-Attribut, das kann nämlich für mehrere Elemente gleich sein.
Das funktioniert aber nur, wenn das Element ein name Attribut hat
Genau.
was nur in den wenigsten Fällen der Fall ist.
Vermutlich muss dann erst so ein Attribut vergeben werden.
Hotti
was nur in den wenigsten Fällen der Fall ist.
Vermutlich muss dann erst so ein Attribut vergeben werden.
Nein, das reicht nicht. Das ist übrigens einer der wenigen Fällen, wo der IE sich mehr an die Standards hält als Firefox.
Struppi.
Das ist übrigens einer der wenigen Fällen, wo der IE sich mehr an die Standards hält als Firefox.
Stimmt. Hab neulich auch son Fall gehabt, ist ganz schön gemein sowas ;-)
Hotti
Hi,
Id ist eindeutig, scheidet also aus.
In XML nur dann, wenn es in der DTD als Attribut mit dieser Sonderbedeutung definiert wurde.
Sonst ist es ein Attribut, wie jedes andere auch.
MfG ChrisB
Hallo Chris,
Id ist eindeutig, scheidet also aus.
In XML nur dann, wenn es in der DTD als Attribut mit dieser Sonderbedeutung definiert wurde.
Sonst ist es ein Attribut, wie jedes andere auch.
Da es um SVG geht, ist die Eindeutigkeit von IDs gegeben. Ggf. helfen dem OP Klassendefinitionen weiter, die sich mit dem guten alten Hausmittel "getElementsByClassName()" abfragen lassen (SVG-Beispiel).
Grüße,
Thomas