Mám stránku s viacerými skrytými dielmi. Keď kliknete na zodpovedajúci odkaz, obsah div sa odhalí a zároveň skryje všetky ďalšie divy, ktoré sa mohli otvoriť. Táto funkcia funguje úspešne bez chýb tu, Je to jednoduchá show / skryť, nič fantázie.
Teraz budem stavať novú stránku, ktorá je peknápresne to isté, s výnimkou toho, že div má v ňom iFrame, ktorý v ňom vyťahuje stránku s novšou verziou jQuery (predmetná stránka beží 1.3.2, ktorú nemôžem nanešťastie upgradovať).
Keď sa pokúsim opustiť túto novú stránku kliknutíminý odkaz na webe, vidím "Chyba syntaxe, nerozpoznaný výraz: #" vo Firefoxe av IE8, hovorí Line: 19 Chyba: Výnimka vyhodená a nezachytená, za ktorým nasleduje "Syntax error, nerozpoznaný výraz: ad +", keď kliknem na ladenie. Potom dostanem ďalšiu chybu, ktorá mi hovorí, že "Object does not support property or method" pre tento riadok:
$("#" + $(this).attr("class")).show().siblings("div").hide();
Stáva sa to kvôli druhej knižnici jQuery použitej na stránke v iFrame? Je to jediná vec, na ktorú myslím, prečo funguje na jednej stránke a nie na druhej strane.
Tu je husle s kódom - ak kliknete na odkaz Domov v hornej časti stránky, zobrazí sa syntaktická chyba v konzole.
Tu je kompletný obsah značky skriptuna stránke. Keď to odstránim, nemám žiadne chyby, takže to musí byť niečo tu. Všimol som si kombináciu jednoduchých a dvojitých úvodzoviek, ale stále som dostal chybu, keď som sa pokúsil zmeniť jednu alebo druhú:
$(document).ready(function() {
// Optional code to hide all divs
$("div" + ".menu").hide();
// Show chosen div, and hide all others
$("a").click(function ()
{
$("#" + $(this).attr("class")).show().siblings("div").hide();
});
});
odpovede:
0 pre odpoveď č. 1vaše chyba throwin riadok kódu gor nesprávny selector: $ ("." + $ (to) .attr ("trieda")) show () súrodenci ("div").
Vaše vyhlásenie vyberie prázdne pole a tento doenst má akúkoľvek metódu s názvom "show ()"
Alebo naozaj máte svoje id ako atribút triedy?