Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    2

    dubbio performance jquery

    Ho letto questo articolo http://www.learnjquery.org/newslette...selectors.html

    Poi ho trovato questo esercizio:
    - pagina web con dom a 4 livelli di profondità
    - ogni nodo mediamente 10 figli.
    - ogni ciclo di una query tipo $('.classname') impiega 1ms e una query su id del tipo $('#id') impiega 5 ms.
    Calcolare tempo impiegato da $('.classname') e da $('.classname',$('#formid')) nel caso in cui formid sia un unico nodo al 3 livello. Quanto è il risparmio?

    Sicuramente non c'è da calcolare il numero dei figli e altro, ma non capisco come andrebbe svolto.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto, non si capisco la domanda?
    - E' un problema dato a scuola da risolvere?
    -- Non mi pronuncio, perché in teoria dovresti saperlo o studiato
    - E' una tua curiosità?
    -- No comment, provare no?
    - E' un problema reale di prestazioni?
    -- Basta prova entrambe le soluzioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    2
    E' una mia curiosità, perchè di solito faccio siti che richiedono jquery ma non ho mai ragionato su queste cose.
    Come faccio a provare?

  4. #4
    ho provato a leggere per aiutarti, ma non capisco...anch'io sarei interessato a capire quale è più performante rispetto all'esempio.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    premetto che non ho letto tutto l'articolo cmq è + performante il secondo, perche la query ha come contesto un singolo blocco DOM, invece del document root...

    codice:
    <html>
    <div id="blocco1">
    blocco1
    </div>
    <div id="blocco2">
    blocco2
    </div>
    <div id="blocco3">
    blocco3
    < input class="classname"/>
    </div>
    </html>
    Mettiamo che debba recuperare l'input con class classname... se faccio cosi:

    $('.classname') la ricerca viene effettuata sul tutto il documento, quindi anche all'interno dei div blocco1, blocco2

    se faccio cosi:

    $('.classname',$('#blocco3'))

    la ricerca viene effettuata solo all'interno del div blocco3 perche appunto abbiamo definito questo elemento come contesto invece del documento intero.

    un metodo equivalente è:

    $('#blocco3').find('.classname')


  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    e $('#blocco3 .classname') non la prende ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    si anche cosi va bene

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    da quello che so io, il find e' sempre piu' performante, a maggior ragione se confrontato con un contesto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.