JQuery Benötigen Sie eine Tabelle auswählen nur dann, wenn seine erste Zeile mehr als 1 Spalte
-
03-07-2019 - |
Frage
Ich muß wählen und wirkt auf ein Tabellenelement mit JQuery, aber nur, wenn sie mindestens eine Zeile mit mehr als einer Spalte. Die folgende Selektor funktioniert, aber wird mir nur teilweise:
$('#my_table_is:has(tbody tr)').doSomething();
Variations I ohne Erfolg versucht haben, sind:
$('#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();
Welche Kombination von Wähl- und Filter werden diese Arbeit machen?
BTW, der Grund, warum ich brauche ist, dass tablesorter mit einem mehrspaltigen sortList wird offenbar sprengen, wenn es nur 1 Spalte in der Tabelle ausgegeben wird.
Lösung
Wie wäre es nur eine gute ole Check?
if (1 < $('#tbl thead th').size()) ...
Andere Tipps
Wäre es nicht wirklich leichter zu reparieren die tablesorter anstelle von Hacking um ? (Ich nehme an, Sie meinen http://tablesorter.com/ ).
ich es geschafft, dies mit dem folgenden Selektor zu tun (auch für eine alte Version von Tablesorter):
#tableID:has( tbody > tr > td + td )
Die Idee ist, dass es in die Tabelle findet nur dann, wenn es eine tbody
mit einem tr
hat, die mindestens zwei Geschwister td
in sich hat.