il ciclo penso si possa evitare, il codice che hai postato tu dovrebbe funzionare, anche se è inutile richiamare la funzione inline, usa i selettori jquery.
Con questo codice html:
codice:
<ul id="myList">
<li>
<input type="checkbox"/>
<p>"Label" 1</p>
</li>
<li>
<input type="checkbox"/>
<p>"Label" 2</p>
</li>
</ul>
la funzione jquery si puo riscrivere cosi:
codice:
$("p").click(function(){
var chk = $(this).prev();
chk.prop("checked", !chk.is(":checked"));
});
nel tuo caso sarà cosi:
codice:
$("a").click(function(){
chk = $(this).parent().find('input');
chk.prop("checked", !chk.is(":checked"));
});
e rimuovi l'onclick dal tag a