Tutte le risposte di cui sopra funzioneranno in una certa misura, ma il frammento di codice suggerisce che si desidera che ciascuno degli elementi selezionati venga aggiornato singolarmente. Il codice nelle altre risposte imposterà ciascuno di essi sullo stesso valore del primo.
è necessario utilizzare la firma di callback di .html()
:
$('TBODY[id*=aggr] > tr > td > table > tbody > tr > td > nobr > b').html(
function(idx, oldHTML) {
return 'Total' + oldHTML.substring(3);
}
);
Questo aggiornerà ogni elemento b
singolarmente.
Un altro consiglio: inserire ID o classi sugli elementi più in basso nel DOM. Ciò semplificherebbe significativamente la tua selezione, velocizzando l'esecuzione e la scrittura del tuo codice. In questo caso, ad esempio, è possibile inserire una classe aggrchild
sugli elementi td
inferiori ed eseguire una selezione come $('td.aggrchild b')
.
Gli ID devono essere univoci. Per favore chiarisci se intendi tutti gli elementi che * hanno * 'aggr' come ID o che * contengono *' aggr' nell'ID. Se hai più elementi con lo stesso ID, stai facendo qualcosa di sbagliato. –
ha ID come "aggr1", "aggr2", ecc. E vuole selezionare tutti quelli –
@Scott Evernden: Sì, avrei dovuto leggere il titolo;) @nav: Nevermind. –