javascript - Migrating menu tree code from jquery 1.7.1 to 1.9.1 -


i've js code working jquery 1.7.1 broken after migration 1.9.1 can see problem on http://jsfiddle.net/qk5ld/2/.

the code i'm using this:

$("#navigation li ul").each(function(){     var = this;     $(this).hide();     $(this).prev().toggle(function() {                                $(that).show();                            },                            function() {                                $(that).hide();                            }                      ); }) 

i read toggle() no more supported i'm no js expert , i've lost many hours trying complete update js code.

any idea? thank in advance.

nicola.

note: html used this:

<div id="navigation">    <ul>       <li id="category-2850">          <a href="/category/archiviazione/">archiviazione</a>          <ul>             <li id="category-3021">                <a href="/category/archiviazione/archiviazione-modulare/">archiviazione modulare</a>                <ul>                   <li id="category-3326"><a href="/category/archiviazione/archiviazione-modulare/scatole-archivio-con-maniglie/">scatole archivio con maniglie</a></li>                   <li id="category-3022"><a href="/category/archiviazione/archiviazione-modulare/scatole-archivio-in-cartone/">scatole archivio in cartone</a></li>                </ul>             </li>             <li id="category-2876">                <a href="/category/archiviazione/buste-trasparenti/">buste trasparenti</a>                <ul>                   <li id="category-2917"><a href="/category/archiviazione/buste-trasparenti/buste-a-perforazione-universale/">buste perforazione universale</a></li>                   <li id="category-2916"><a href="/category/archiviazione/buste-trasparenti/buste-a-u/">buste u</a></li>                   <li id="category-2877"><a href="/category/archiviazione/buste-trasparenti/buste-per-usi-diversi-e-dedicati/">buste per usi diversi e dedicati</a></li>                </ul>             </li>          </ul>       </li>       <li id="category-3100">          <a href="/category/arredamento-e-complementi/">arredamento e complementi</a>          <ul>             <li id="category-3101">                <a href="/category/arredamento-e-complementi/complementi-d-arredo/">complementi d'arredo</a>                <ul>                   <li id="category-3102"><a href="/category/arredamento-e-complementi/complementi-d-arredo/accessori-vari/">accessori vari</a></li>                   <li id="category-3215"><a href="/category/arredamento-e-complementi/complementi-d-arredo/appendiabiti/">appendiabiti</a></li>                   <li id="category-3307"><a href="/category/arredamento-e-complementi/complementi-d-arredo/cestini-e-posacenere/">cestini e posacenere</a></li>                   <li id="category-3189"><a href="/category/arredamento-e-complementi/complementi-d-arredo/lampade-da-tavolo/">lampade da tavolo</a></li>                   <li id="category-3214"><a href="/category/arredamento-e-complementi/complementi-d-arredo/lampade-da-terra/">lampade da terra</a></li>                   <li id="category-3217"><a href="/category/arredamento-e-complementi/complementi-d-arredo/orologi-barometri-da-scrivania-e-da-parete/">orologi - barometri da scrivania e da parete</a></li>                   <li id="category-3336"><a href="/category/arredamento-e-complementi/complementi-d-arredo/piante-sintetiche-e-vasi/">piante sintetiche e vasi</a></li>                   <li id="category-3216"><a href="/category/arredamento-e-complementi/complementi-d-arredo/portaombrelli/">portaombrelli</a></li>                   <li id="category-3173"><a href="/category/arredamento-e-complementi/complementi-d-arredo/tappeti-e-zerbini/">tappeti e zerbini</a></li>                   <li id="category-3328"><a href="/category/arredamento-e-complementi/complementi-d-arredo/tavolini-e-sedie-zona-ristoro/">tavolini e sedie zona ristoro</a></li>                </ul>             </li>          </ul>       </li>    </ul> </div> 

your code becomes cleaner in 1.9:

$("#navigation li ul").each(function(){     var = this;     $(this).hide().prev().click(function(e) {          e.preventdefault();         $(that).toggle();     }); }); 

though have worked in previous versions too.

update: here's better way:

$("#navigation li ul").hide().prev().click(function(e){     e.preventdefault();     $(this).next().toggle(); }); 

jsfiddle


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -