JQuery n'a besoin de sélectionner une table que si sa 1ère ligne a plus d'une colonne

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

  •  03-07-2019
  •  | 
  •  

Question

Je dois sélectionner et utiliser un élément de tableau avec JQuery, mais uniquement s'il contient au moins une ligne avec plus d'une colonne. Le sélecteur suivant fonctionne, mais ne me permet que partiellement:

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

Les variantes que j'ai essayées sans succès sont les suivantes:

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

Quelle combinaison de sélecteur et de filtre fonctionnera?

BTW, la raison pour laquelle j’ai besoin de ça, c’est que le trieur de tables avec une sorteListe multi-colonnes va apparemment exploser quand il n’ya qu’une colonne dans la sortie du tableau.

Était-ce utile?

La solution

que diriez-vous d'un bon vieux chèque?

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

Autres conseils

Ne serait-il pas plus facile de réparer le serveur de table au lieu de bidouiller ? (Je suppose que vous voulez dire http://tablesorter.com/ ).

J'ai réussi à le faire avec le sélecteur suivant (également pour une ancienne version de TableSorter):

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

L’idée est qu’elle ne trouvera la table que si elle contient un tbody avec un tr comportant au moins deux frères td dans il.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top