Autor Zpráva
meca
Profil
Achjo, si zas připadám jak looser - se mi ty problémy nějak nakupily a už si s nimi nevím rady.

var nav=document.getElementById(nav).childNodes;
for (e=0; e<nav.length; e++) {
nav[e].className='';
}

Nevíte, proč to v IE píše, že objekt tuto vlastnost nebo metodu nepodporuje? Když vymažu nav[e].className='';, tak to mlčí. Děkuji moc.
ShiraNai7
Profil
var nav=document.getElementById(nav).childNodes;

~ není toto nějaký pochybný zápis? pokud tedy už nemáš tu proměnnou definovanou
~ zkus tento zápis prvního řádku, nevím proč, ale exlporeru to někdy pomůže

eval("var nav=document.getElementById('"+nav+"').childNodes;");
peta
Profil
meca
document.getElementById(nav).childNodes

alert(nav)
alert(document.getElementById(nav))
co je v promenne nav?

for (e=0; e<nav.length; e++) {
alert(nav[e])
}
co je v poli Nodu v nav? Je tam legalni element nebo TextNode, u ktereno nelze nastavovat className.

U ktereho E to napise chybu? To se zjisti zas takto:
for (e=0; e<nav.length; e++) {
alert(e);
nav[e].className='';
}

co treba dat odkaz na cely script? ne? pak bych pozadal o zapujceni kristalove koule, ktera mi jej doplni :)
peta
Profil
ShiraNai7
eval("var nav=document.getElementById('"+nav+"').childNodes;");
fuj, fuj.
Spravne zapsany zapis funguje dobre bez eval.
Eval je napadnutelny script pro zabezpecenou stranku:
function funkce(promenna)
{eval(promenna);}
ty mas promenna = 'aaa'
a ja ti tam poslu promenna='var x=document.createNode('\IFRAME\');... >>>odesli mi prihlasovaci udaje, kdyz je admin prihlasen<<<'
pripadne zavolam ajax metodu, ktera vse provede na pozadi.
:)
A tento script ti tam vnutim misto nejakeho obrazku/smajliku.
meca
Profil
Ajooo... neuvědomil jsem si, že je to na internetu:

http://allfest.cz/js.js

Má to za úkol to přehazování diskuse/kapely a galerie/reporty...

http://allfest.cz/rock-for-people-2008
centi
Profil
meca
childNodes vracia všetky DOM uzly, nie len HTML elementy. Takže vracia napr i textové reťazce a tie fakt vlastnosť className nemajú. Môžeš teda skúsiť:

1. použiť namiesto childNodes metódu getElementsByTagName("pozadovany_tag") alebo
2. do tvojho FOR cyklu pridať podmienku if (nav[e].nodeType == 1). nodeType 1 je HTML element
meca
Profil
centi
ÚÚžastný - děkuji ti moc. Tušil jsem, že to bude nějaká takovádle ptákovina...
ShiraNai7
Profil
peta
Eval je napadnutelny script pro zabezpecenou stranku:
I blbým Bookmarkletem můžu spustit libovolný javascript na libovolné stránce, tak nevím o jakém napadnutí se tady diskutuje. :-)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: