ti-enxame.com

Como selecionar uma coluna de tabela com jQuery

Eu quero selecionar uma coluna da tabela e tudo o que sei é o texto do cabeçalho da coluna. (th.innerText)

Eu tentei o seguinte código, mas não funciona:

ownerIndex = $('th:contains("Owner")').index();
$('table tr td:nth-child(ownerIndex)')

alguma ideia?

27
user963395

Está bem. Eu encontrei uma solução:

$('table tr td:nth-child('+ownerIndex+')')
51
user963395

No exemplo acima, ownerIndex precisa ser incrementado em 1 para corresponder à indexação de n-filho, que começa em 1 em vez de 0.

Aqui está minha opinião: http://jsfiddle.net/2xU8t/

/* Set all the cells in columns with THEHEADING in the heading to red */

// Find the heading with the text THEHEADING
columnTh = $("table th:contains('THEHEADING')");

// Get the index & increment by 1 to match nth-child indexing
columnIndex = columnTh.index() + 1; 

// Set all the elements with that index in a tr red
$('table tr td:nth-child(' + columnIndex + ')').css("color", "#F00");

// Set the heading red too!
columnTh.css("color", "#F00"); 
21
Tristan

Isso parece funcionar usando o retrocesso em vez de uma única citação: 

$(`table tr td:nth-child(${ownerIndex})`)
0
illibrarian