Ho una tabella con celle di testo a contenuto variabile. Voglio trovare l'altezza della cella più alta e quindi rendere tutte le celle quell'altezza. Come posso fare questo?Come posso trovare l'altezza della cella della tabella più grande con jQuery?
risposta
Ti piace questa:
var max = 0;
$('table td').each(function() {
max = Math.max($(this).height(), max);
}).height(max);
In parole povere, un ciclo tra tutte le cellule e trovare il valore massimo, quindi applicare tale valore a tutte le cellule.
Ci sono several plugins che possono farlo per voi. Tuttavia, il codice sarebbe simile a questa:
var tallest = 0;
$('table td').each(function() {
if (tallest < $(this).height()) {
tallest = $(this).height();
}
});
$('table td').css({'height': tallest});
È possibile utilizzare jQuery con il seguente codice
var maxHeight = 0;
$('#yourTableID td').each(function(index, value)
{
if ($(value).height() > maxHeight)
maxHeight = $(value.height());
}).each(function(index, value) {
$(value).height() = maxHeight;
});
Speranza che aiuta
Aspetta, cosa sta succedendo qui: '$ (value) .height() = maxHeight'. Il setter richiede 'maxHeight' come argomento di funzione, mentre nessun argomento restituirà l'altezza. E perché non dovresti usare "questo" dopotutto? – Harmen
solo per essere diverso:
var heights = $('td').map(function() {
return $(this).height();
}).get();
var maxHeight = Math.max.apply(Math, heights);
$('td').css('height', maxHeight);
Hai davvero bisogno di salvare l'altezza di tutte le celle della tabella in un array? Ciò significherebbe che devi effettivamente scansionarli tre volte. La prima volta per ottenere tutte le altezze, una seconda iterazione per ottenere l'altezza massima e la terza volta per impostare l'altezza massima. – Harmen
La raccolta dei rifiuti si prende cura dell'array alla fine. Non pensi che confrontare ogni altezza richiede un po 'di potenza della CPU? Math.max.apply() è estremamente efficiente. Scusa se ho postato qualcosa di diverso dalla norma. Se lo paragona, vince. Preferisco personalmente l'esempio di Tatu, le persone capiscono il concatenamento. –
Potrebbe essere proprio lì, non posso più annullare il mio downvote, la prossima volta aggiungerò un commento prima di premere il pulsante di voto giù – Harmen
contribuisci all'esempio di @tatu ulmanen
Questo è ovvio, ma se si desidera solo per strech le righe con celle più alti avvolgere un ciclo tr :)
$('table tr').each(function(){
var max = 0;
$(this).find('td').each(function(){
max = Math.max($(this).height(), max);
}).height(max);
});
- 1. Come trovare la cella della tabella precedente usando jQuery?
- 2. In JQuery come posso ottenere la cella della tabella adiacente?
- 3. jQuery: imposta il valore della cella della tabella all'interno div
- 4. Come trovare il determinante della matrice grande
- 5. Allineamento della cella di tabella con rowspan
- 6. Come selezionare e modificare il valore della cella della tabella con jQuery?
- 7. jQuery trovare precedente riga della tabella che ha una cella con una specifica classe
- 8. Ottenere valore dalla cella della tabella in JavaScript ... non jQuery
- 9. Centra il testo nella cella della tabella
- 10. jQuery eliminare colonna della tabella
- 11. Etichetta cella della tabella iPhone disallineata
- 12. Altezza della cella di tabella dinamica rapida
- 13. Selezionare una casella di controllo in una cella di tabella facendo clic in qualsiasi punto della cella della tabella
- 14. Come posso aggiornare il valore della cella della tabella dei dati?
- 15. Filtra le righe della tabella con jquery
- 16. Testo all'interno della cella della tabella allineato in modo errato
- 17. Come allineare l'immagine al centro della cella della tabella (Tabella SWT)
- 18. Il ridimensionamento della colonna della tabella non funziona se l'intestazione della tabella ha più righe e colspan nella cella della tabella
- 19. iterazione della cella di tabella Angularjs
- 20. Ridimensiona l'altezza della cella tabella come da altezza dell'immagine scaricata
- 21. Interrompe parola lunga nella cella della tabella con ampiezze percentuali
- 22. BitmapFactory restituisce un'immagine più grande della sorgente
- 23. jQuery - come selezionare tutte le righe della tabella tra due righe della tabella nella stessa tabella
- 24. UITableView problemi di scorrimento sé cella dimensionamento con grande differenza di altezza della cella
- 25. Come aggiornare l'altezza della cella con UITableViewAutomaticDimension?
- 26. Finestra ingrandita WPF più grande della schermata
- 27. Come allineare div sul fondo della cella di tabella
- 28. jQuery: Get cella successiva tabella verticalmente
- 29. Come accedere alla cella specifica della riga della tabella selezionata in javascript
- 30. Come posso limitare la larghezza della colonna della tabella?
+1 perché è breve, ma è possibile ottimizzarlo. Ad esempio, puoi rimuovere 'max === false ||'. E penso che dovresti spostare '$ (this) .height()' in una variabile, che ti salva un paio di chiamate a doppia funzione – Harmen
Aspetta, l'hai già risolto. Questa è davvero un'ottima soluzione, penso che – Harmen
@Harmen, grazie, ora usi 'Math.max()' che lo semplifica parecchio. –