Necessita de JQuery para selecionar uma tabela somente se sua 1ª linha tem mais de 1 coluna

StackOverflow https://stackoverflow.com/questions/821691

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu preciso selecionar e agir sobre um elemento de tabela com JQuery, mas somente quando ele contém pelo menos uma linha com mais de uma coluna. A seguir obras seletor, mas só me deixa parte maneira:

$('#my_table_is:has(tbody tr)').doSomething();

Variações eu tenho tentado sem sucesso são:

$('#my_table_id:has(tbody > tr > td:eq(1))').doSomething();
$('#my_table_id:has(tbody tr:nth-child(1))').doSomething();
$('#my_table_id:has(td:eq(1))').doSomething();    

Que combinação de seletor e filtro irá fazer este trabalho?

BTW, a razão que eu preciso disso é que tablesorter com um multi-coluna sortList, aparentemente vai explodir quando há apenas 1 coluna na saída da tabela.

Foi útil?

Solução

como sobre apenas uma boa verificação ole?

if (1 < $('#tbl thead th').size()) ...

Outras dicas

Não seria mais fácil para realmente correção o tablesorter em vez de hackers ao redor ? (Suponho que você quer dizer http://tablesorter.com/ ).

Eu consegui fazer isso com o seguinte seletor (também para uma versão antiga do TableSorter):

#tableID:has( tbody > tr > td + td )

A idéia é que ele vai encontrar a tabela somente se ele tem um tbody com tr de que tem pelo menos dois td irmão na mesma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top