emer
Myslim, ze aj keby tam ten element mal, nic by mu to nepomohlo.
DonnieBrasco
getElementById vyhladava elementy nie podla atributu s nazvom "id", ale podla atributu, ktory je v DTD zadefinovany ako atribut typu ID (ak hovorime o HTML a XML ako o jazykoch zalozenych na SGML). Kedze bezny XML dokument DTD neobsahuje, neexistuje atribut, podla ktoreho by malo getElementById vyhladavat. Skusil som do XML dokumentu vlozit nasledovne:
Kód:
<!DOCTYPE r [
<!ATTLIST foo id ID #IMPLIED>
]>
r bol korenovy element a getElementById malo vyhladat element <foo id="abc"/>. Tento sposob fungoval jedine vo Firefoxe a Opere. Chrome evidentne internu podstatu DTD neparsuje, a teda getElementById() vyhadzovalo vzdycky null, Explorer sa k nejakej podpore getElementById v XML zrejme vobec nehlasi.
Ak som sa teda v nicom nepomylil, vychadza mi to tak, ze getElementById sa v beznych XML dokumentoch pouzit
neda. Pouzivaj ine sposoby.
Este poucenie: pri synchronnych XMLHttpRequestoch (to je treti parameter XMLHttpRequest.open nastaveny na false) prehliadac navstevnika na chvilu zamrzne. Obzvlast neprijemne to moze byt napriklad pri lagujucom pripojeni. Vzdy pouzivaj asynchronne requesty, aj ked ten zapis kodu bude trosku zlozitejsi.
Edit: docital som sa, ze by sa mal dat pouzit atribut
xml:id="nieco", ale znova, neviem, ako to bude s podporou, hlavne v pripade IE.