Ok, ragazzi, grazie ai vostri consigli e ad un po' di vodoo sono riuscito a cavarmi d'impaccio.

Il .live() è utile ma solo per velocizzare in determinati casi, ma immagino che l'altro codice dia più libertà.

A me serviva accedere agli elementi perché avevo una lista creata dall'utente in maniera dinamica, e praticamente dovevo dare un colore agli elementi pari ed un altro agli elementi dispari.

Lavorando sulla base dell'esempio postato da antotan sono giunto a questa soluzione:


codice:
<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    <script>
      $(document).ready(function(){	
      	$("#clickme").click(function(){
          newli = $("[*]");
          newli.html("NEW LI");	
	  $("body ul#newlist").append(newli);
	  newli.each(function() { 
	    $('#newlist li:odd').css('background', 'blue'); 
	    $('#newlist li:even').css('background', 'red');
	  });
        });
      });
    </script>
  </head>
    
  <body>
    <div id="clickme">Clickme</div>
    <ul id="newlist">[/list]
  </body>
</html>
Soluzione che applicherò al mio script.
Secondo voi è la soluzione migliore? Lo scrivereste in modo diverso?

Fatemi sapere e grazie per le risposte.