Avatar billede MrPingWin1255 Nybegynder
15. maj 2015 - 17:08 Der er 2 kommentarer

Prøver bare at forstå dette Jquerry kodestykke

Enlig så har jeg ikke et problem som sådan. Prøver bare at forstå et stykke kode, og har kun nogle meget få timers erfaring i Javascript, for over et år siden. Det er i øvrigt et stykke kode til en mobilmenu   

Dette er hele stykket:

$('#mobile-menu .container ul li').each(function(){


    if($(this).find('> ul').length > 0) {     
           

            $(this).find('> a').append('<span class="sf-sub-indicator"><p class="icon-angle-down"> &#9660;[en unicide] </p></span>');
        }
    });

Prøver at forstå linje jeg har prøvet at marker. Tror jeg vil kunne regne resten ud hvis jeg forstod den.

På forhånd tak
Avatar billede Slater Ekspert
15. maj 2015 - 19:09 #1
Okay, "this" henfører til det HTML-element som each-funktionen er ved lige nu. $(this) laver det om til et jQuery element i stedet for et standard Javascript DOM element.

find('> ul') finder alle <ul> elementer som er direkte børn af $(this). Dvs. i koden:

<div>
  <span>
    <p>Tekst</p>
  </span>
</div>

Her er span et direkte barn af div'en, men p er ikke. P er derimod et direkte barn af span.


.length > 0 tester bare for om der findes nogen af de elementer. Length returnerer antallet af fundne elementer, så hvis det er over 0, er der nogen.
Avatar billede MrPingWin1255 Nybegynder
16. maj 2015 - 10:54 #2
Okay mange tak , det hjalp faktisk en del
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester