È necessario JQuery per selezionare una tabella solo se la sua prima riga ha più di 1 colonna

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

  •  03-07-2019
  •  | 
  •  

Domanda

Devo selezionare e agire su un elemento tabella con JQuery, ma solo quando contiene almeno una riga con più di una colonna. Il seguente selettore funziona, ma mi mette solo in parte:

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

Le variazioni che ho provato senza successo sono:

$('#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();    

Quale combinazione di selettore e filtro farà funzionare tutto questo?

A proposito, il motivo per cui ho bisogno di questo è che il tableorter con un sortList multi-colonna, apparentemente esploderà quando c'è solo 1 colonna nell'output della tabella.

È stato utile?

Soluzione

che ne dici di un buon controllo totale?

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

Altri suggerimenti

Non sarebbe più facile riparare il tableorter invece di hackerare ? (Suppongo che intendi http://tablesorter.com/ ).

Sono riuscito a farlo con il seguente selettore (anche per una vecchia versione di TableSorter):

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

L'idea è che troverà la tabella solo se ha un tbody con un tr che ha almeno due fratelli td in esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top