Нужен JQuery для выбора таблицы, только если в ее 1-й строке более 1 столбца

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

  •  03-07-2019
  •  | 
  •  

Вопрос

Мне нужно выбрать элемент таблицы и воздействовать на него с помощью JQuery, но только в том случае, если он содержит хотя бы одну строку с несколькими столбцами. Следующий селектор работает, но только дает мне часть пути:

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

Варианты, которые я пробовал безуспешно:

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

Какая комбинация селектора и фильтра сделает эту работу?

Кстати, причина, по которой я нуждаюсь в этом, заключается в том, что таблица сортировки с многостолбцовым sortList, очевидно, взорвется, когда в выводе таблицы будет только 1 столбец.

Это было полезно?

Решение

как насчет хорошей проверки оле?

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

Другие советы

Не проще ли на самом деле исправить сортировщик таблиц вместо взлома ? (Полагаю, вы имеете в виду http://tablesorter.com/ ).

Мне удалось сделать это с помощью следующего селектора (также для старой версии TableSorter):

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

Идея состоит в том, что она найдет таблицу только в том случае, если в ней есть tbody с tr , в котором есть как минимум два родственных элемента td в он.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top