Autor | Zpráva | ||
---|---|---|---|
Suta Profil |
#1 · Zasláno: 28. 4. 2008, 23:00:09 · Upravil/a: Suta
//předpokládejme, že mám (xml) mezi tagy <jmeno_hrace> a </jmeno_hrace> nějaký obsah, např.:
<jmeno_hrace>Franta</jmeno_hrace> //pro vypsání obsahu tagu použiji např. var jmenoHrace = getElementsByTagName("jmeno_hrace"); var obsah_tagu = jmenoHrace.item(0).firstChild.data.toString(); To je v pohodě. Na co však nemůžu přijít je to, jak zjistit, že ten tag skutečně existuje (tedy jak zjistit, že neexistuje).... Problém je v tom, že když použiji výše uvedené var jmenoHrace = getElementsByTagName("jmeno_hrace"); tak do proměnné jmenoHrace se uloží objekt (i když ten tag neexistuje), takže jsem ve slepé uličce... Jinými slovy, jak zapsat EXISTUJE-LI TAG, PAK UDĚLEJ... Poznámka: konkrétně dostávám přes Ajax ze serveru xml odpověď, kde pokaždé obdržím jiný obsah (jiné tagy), a já chci na základě přitomnosti či nepřítomosti jednotlivých tagů vykonávat příkazy javascriptu. Dík za radu. |
||
Leo Profil |
#2 · Zasláno: 28. 4. 2008, 23:27:54
"tak do proměnné jmenoHrace se uloží objekt"
Protoze to vraci pole, ne odkaz na jeden element, Leo |
||
Hooonza Profil |
#3 · Zasláno: 29. 4. 2008, 01:55:00 · Upravil/a: Hooonza
Jinými slovy, jak zapsat
EXISTUJE-LI TAG, PAK UDĚLEJ... No, to nevím, jestli to jde zapsat, ale jde se zeptat, jestli existuje nějaký (aspoň první) prvek toho objektu: var jmenoHrace = getElementsByTagName("jmeno_hrace"); if (document.getElementsByTagName("jmenoHrace")[0]) obsah_tagu = jmenoHrace.item(0).firstChild.data.toString(); a to nakonec splní stejnou úlohu, ne? |
||
Suta Profil |
#4 · Zasláno: 29. 4. 2008, 06:32:54
Hooonza
Děkuji, to je to co jsem potřeboval. |
||
peta Profil |
#5 · Zasláno: 29. 4. 2008, 17:42:23
Suta
var pole_jmena = getElementsByTagName("jmeno_hrace"); alert(pole_jmena); to, od Hooonza ti mozna muze nekde v JS konzoli vypisovat chybu |
||
Chamurappi Profil |
#6 · Zasláno: 29. 4. 2008, 17:50:37
Reaguji na petu:
Tím alertem snad zjistí existenci? V pole_jmena je vždy objekt, nikdy ne null/undefined/false. „to, od Hooonza ti mozna muze nekde v JS konzoli vypisovat chybu“ Proč a kde? |
||
Suta Profil |
#7 · Zasláno: 29. 4. 2008, 18:03:25
peta
Již vícekrát jsem si všiml, že některé tvé příspěvky v diskuzi zkrátka moc dobře nechápu a postrádám přínos pro ty, komu jsou určeny... Nechci rýpat, vážím si jakékoliv rady a určitě patříš mezi ty, kdo dokáží poradit, přesto myslím, že - byť odpovídáš poměrně hojně - bys mohl "radit" více smysluplně. S ohledem na uvedené v příspěvcích výše Tvé radě opravdu nerozumím. |
||
peta Profil |
#8 · Zasláno: 29. 4. 2008, 21:27:22
Chamurappi
:) chybicka, melo byt alert(pole_jmena.length) Chtel jsem zobrazit cislo. to druhe, s tou existenci, to se mi ted stalo s nejakym objektem. Bohuzel ti to ted nereknu, protoze jsem prosel dvoudenim skolenim na ibm websphere a ma plnou hlavu nesmyslu, nevzpomenu si, co jsem delal minuly ct, pa. Konkretne zminene by melo fungovat. jestli ti to udela radost. Suta :) Slo by to, dokonce konkretne, ale nekdy je lepsi lidi navest, jak hledat pomoc, treba googlem. Jednak to vic potesi, kdyz si sam poradis a druhak, nepadaji tu tolik dotazy, ktere se daji v pohode najit. Nejhorsi tazajici je ten, co se nepodiva na JS priklady. Tomu uz neni pomoci :) |
||
Hooonza Profil |
#9 · Zasláno: 29. 4. 2008, 22:23:13
peta
:) Slo by to, dokonce konkretne, ale nekdy je lepsi lidi navest, jak hledat pomoc, treba googlem. No jenže radit někomu přes internet už samo o sobě znamená snížení srozumitelnosti, je to tak trošku jako couvat s traktorem s 10 valníky. A když srozumitelnost budeš ještě záměrně snižovat, což různé nekonkrétní "návody" vždycky jsou, máš velkou šanci, že tvoje příspěvky budou nanic. Když sem někdo přijde, chce pomoc, ne teorie. To, jestli bude dál přemýšlet, jaksi záleží jenom na něm, s tím nic neuděláš - leda to můžeš pokazit. Platí pravidlo KISS - keep it short and simple, to je základ srozumitelnosti :-) |
||
Suta Profil |
#10 · Zasláno: 29. 4. 2008, 23:10:18
peta
Hooonza On má peta samozřejmě taky pravdu, je třeba lidi navést, aby se jen "neptali" na řešení, ovšem když už navést, tak srozumitelně. Jinak upřesněnému alertu již rozumím, díky. |
||
Časová prodleva: 16 let
|
0