Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562

    Sostituire un ciclo .each() con un for(), come?

    Ciao ragazzi,

    visti dei miei problemi con each() di jquery, volevo chiedervi come secondo voi potrei fare la stessa cosa utilizzando un for();

    Infatti mi domandavo se con each() potevo ciclare tra tutti gli elementi del DOM:

    $('.nomeclasse').each(function(){.........});

    Come con for() posso comunicargli di ciclare fra tutti gli elementi finchè non finiscono?

    So che facendo $('.nomeclasse').length posso vedere quanti elementi ci sono, ma credo che ovviamente mettendolo in un ciclo for facendo così appunto ricavo solo la lunghezza e NON punto ogni elemento come con un each().

    Sapete come fare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    esattamente dove hai problemi con l' each di jquery?
    ci possono essere casi in cui puoi voler usare comunque un for in jquery, ma vediamo qual e' il tuo caso specifico

    se veramente volessi usare un for per scorrere gli elementi di un set di jquery hai per esempio il filtro eq per valutarli via indice

    var set=$('.nomeclasse');
    for (var k=0,l=set.length;k<l;k++){
    console.log(set.eq(k))
    }

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    in puro js:

    codice:
    lista = document.getElementsByClassName("nomeclasse");
    for(i=0;i<lista.length;i++){
      ...
    }

  4. #4
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Si, probabilmente la soluzione di Xinod è quella perfetta "o quasi", nel senso che cmq devo ricorrere poi a .eq() "sperando" che non mi faccia calare di prestazioni ancora il browser, come mi faceva usando "solo" each().

    Però ti ringrazio Xinod perchè già così evito each().

    Mentre l'altra risposta dell'altro utente, grazie, però quella è parte della soluzione che chiedevo. Cioè si mi da la quantità degli elementi da ciclare, però non mi punta a ognuno di essi...invece grazie a eq() posso farlo.

    Grazie ragazzi ci provo e mi faccio risentire.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ma cosa significa "non mi punta ad ognuno di essi"?

    usa l'indice del for per accedere ad ogni elemento

    lista[i]

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.