Autor Zpráva
dRaGen
Profil
Zdravím,
Mám menu, které se rozbaluje pomocí javascriptu, a každé podmenu má své ID, které pomocí jquery zobrazuji / skrývám

<a class="leve-menu-kategorie-plus"href="javascript:zobrazSkryj('menu_3',this);" >nEophyte</a>
<div id="menu_3" style="display:none">
položky menu
</div>


Javascript
   if (document.getElementById(id).style.display == "none"){
       $("#"+id).fadeIn("def");
   }else{
      $("#"+id).fadeOut("def");
   }


Celé to funguje na hlavní straně ... Ale pokud sem na nějaký jiný straně tak to hlásí
Chyba: $("#" + id) is null

Přitom když si dam alert(document.getElementById(id).innerHTML); tak to zobrazí normálně to podmenu ...
peta
Profil
dRaGen
posli jednoduchy 10 radkovy html kod, nelepe link. Casti kodu jsou zbytecne posilat, tezko z toho urcit, jaky JS to obsluhuje. Odkaz je idealni, budeme mit vsichni stejnou verzi a muzeme si pustit na to ladici nastroje. Treba JS konzolu, kterou ma kazdy prohlizec s JS.

Ja vim, zas mne ukrizuji, jdu zas tipovat, co tady chybi.
$("#"+id)
... Co je to?
alert(document.getElementById(id).innerHTML);
... jak to souvisi s chybou Chyba: $("#" + id) is null ?
Prespokladam, ze tam mas nejakou funkci $(), ktera dohledava idecka funkci document.getElementById(id), otazka je, jak se zpracovava parametr v zavorce $(parametr). Ju?
Jestli by treba nepomohlo napsat misto $("#" + id) treba $(id)
Chamurappi
Profil
Reaguji na dRaGena:
Celé to funguje na hlavní straně ... Ale pokud sem na nějaký jiný straně
Takže záhada spočívá v rozdílu dvou stránek, které neznáme.


Reaguji na peta:
$("#"+id)
... Co je to?
Pravděpodobně jQuery. Píše, že mu to na jedné stránce funguje, takže funkce „$“ pracuje dle očekávání.

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: