JQuery Benötigen Sie eine Tabelle auswählen nur dann, wenn seine erste Zeile mehr als 1 Spalte

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

  •  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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top