nascondi tutte le checkbox nella tabella non funzionanti

il mio jquery scorre su tutti i tavoli

Vorrei hide tutti gli span con la class = “cbox” e tutte le caselle di controllo all’interno della tabella corrente ma il mio codice non funziona.

var table_ids = new Array(); $('.sizetable') .each(function(e){ tableid = $(this).attr('id'); //$msg = tableid; //alert($msg); This alerts the correct id $( "#" + tableid + " .cbox").hide(); $( "#" + tableid + " input:checkbox").hide(); }; 

Ecco il jsfiddle http://www.jsfiddle.net/tommyd/Br42j/

Basta usare $('.sizetable .cbox, .sizetable input:checkbox').hide() . Selezionando per ID è più veloce, ma stai già selezionando per class per ottenere l’ID, potrebbe anche andare da lì e hide tutto .cbox e input:checkbox

C’è un errore di syntax, ti manca la chiusura ‘)’. Quindi cambia il tuo codice in:

 var table_ids = new Array(); $('.sizetable').each(function(e){ tableid = $(this).attr('id'); //$msg = tableid; //alert($msg); This alerts the correct id $( "#" + tableid + " .cbox").hide(); $( "#" + tableid + " input:checkbox").hide(); }); 

Controlla anche il codice qui sotto (cambia i selettori per renderlo un po ‘più veloce):

 var table_ids = new Array(); $('.sizetable span.cbox, .sizetable input:checkbox').hide(); 

EDIT : controlla questo post su fiddle.net http://www.jsfiddle.net/Br42j/7/ , ho aggiunto la class specifica al tavolo e ho aggiunto il mancante) E per la versione ottimizzata controlla questo: http: // www. jsfiddle.net/Br42j/8/