Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: ZAJDAN 16. 05. 2013, 08:05:15

Název: DOM struktura a ID
Přispěvatel: ZAJDAN 16. 05. 2013, 08:05:15
Ahoj...
vím, že toto téma je vhodnější na jiné portály, ale koncentrace lidí z oboru je zde natolik velká, že si troufnu říct, že odpovědi zde budou rychlejší a výstižnější než jinde.
Otázka:
jak je to s unikátností id v DOM struktuře...dejme tomu, že do nějakého hlavního html dokumentu includuju několik samostatných svg dokumentů a ve všech se objevují id. Tyto id musejí být unikátní v rámci toho jednoho samostaného dokumentu (svg) nebo unikátní ve smyslu celé DOM struktury kam se to vše načte a "spojí"?
Název: Re:DOM struktura a ID
Přispěvatel: DK 16. 05. 2013, 09:09:51
id musi byt unikatni v ramci dokumentu... kdyz tam das SVG pomoci embed/iframe/object, tak by to mel byt extra dokument vnoreny do stranky, tedy by mohl obsahovat stejna id jako id v rodicovskem dokumentu/ostatnich svg souborech
Název: Re:DOM struktura a ID
Přispěvatel: ZAJDAN 16. 05. 2013, 09:33:35
díky...
ano právě tagem <embed> vkládám svg dokumenty a skoro všechny obsahují mnoho stejných ID. Pozoruji ovšem problém a zatím nedokážu říct co je příčinou.

mám články obsahující záložky(taby) a na tyto záložky odkazuju ze zmíněných svg obrázků
struktura záložek je v každém článku stejná jen se mění obsah
takto si odchytávám element(tab) z článku:
var tab1 = $$('.nn_tabs_nav ul li:nth-child(1) span a ');
takto si odchytnu id ze svg obrázku:
var sockel = svgElement.getElementById("sockel-contour");
a poté na tyto id poštvu funkci:
sockel.addEventListener("mousedown",function(){tab6[0].click()});

no a problém se projevuje tak, že když otevřu první ze článků, proklikám části svg obrázku čímž se přepínám mezi záložkami článku tak to funguje do doby než skočím na jiný článek s jiným svg obrázkem a poté se vrátím na ten původní - tak přepínání tabů přestane fungovat
Nesmím zapomenou říct, že tento problém se objevuje jen v Google Chrome
Název: Re:DOM struktura a ID
Přispěvatel: ZAJDAN 16. 05. 2013, 09:50:23
chrome element inspector hlasi:
Uncaught TypeError: Cannot call method 'addEventListener' of null

což vypadá jako by neměl id na které se má listener posadit, ale proč?
vždyť to id už jednou měl a pracoval  s ním, jen jsem se přepnul na jiný článek a poté vrátil na původní a ID už jsou nezachytitelná? divné
a to js soubor linkuju jak do svg tak v hlavním dokumentu, takže by mělo být zaručeno, že se vždy načte
Název: Re:DOM struktura a ID
Přispěvatel: none_ 16. 05. 2013, 14:58:34
No to jsi moc informaci neposkytl. Nejlepší by bylo ukázat kód. Popřípadě si to projdi v debug módu a uvidíš, co je špatně.