Нужен JQuery для выбора таблицы, только если в ее 1-й строке более 1 столбца
-
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
в он.