salve.
vorrei realizzare un menu ad albero espandibile (e fin qui ci sono) e vorrei che cliccando sui nodi con figli si mostri il segno + o il segno - a seconda dello stato attuale dell'albero.

Il mio codice è questo:

codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function() {
	$('li>img').each(function(){
		$(this).next().hide();
		$(this).click(function(){
  			$(this).toggle(
				function(e){
					$(this).attr('src','minus.png');
			}, 	function(e){
					$(this).attr('src','plus.png');
				}
			);
			
			$(this).next().toggle();
			
		});
	});
});
</script>
</head>

<body>

<ul>
	[*][img]plus.png[/img]Voce 1
    	<ul>
        	[*]Sottovoce 1[*][img]plus.png[/img]Sottovoce 2
            	<ul>
                	[*]Oggetto 1[*]Oggetto 2[/list]
            [/list]
    [*][img]plus.png[/img]Voce 2
    	<ul>
        	[*]Sottovoce 1.b[*]Sottovoce 2.b[/list]
    [/list]
         [/list]
</body>
</html>
Il codice funziona quasi... solo che (provate anche voi sostituendo 2 immagini a piacere) il più e il meno mi si alternano con questa sequenza: + + - - + + - -, ossia mi cambia segno una sola volta ogni ciclo apertura + chiusura dell'albero.

Dove sta l'errore? L'errore c'è!! Lo so... è il dove che mi sfugge!