jqGrid получает «th» и «thead», используя jQuery

Как я могу получить theader на jqGrid с помощью jQuery?

Мой короткий ответ: вместо выбора элементов DOM, которые соответствуют

элементам, которые вы ищете, вы должны использовать

 $("#list")[0].grid.headers 

Он возвращает массив этих элементов DOM, соответствует

. Далее следует длинное описание моего ответа.

Я понимаю причину вашего вопроса. Если вы, например, определили базовую часть jqGrid как

 

то $("#list") дает вам

только с «данными» частью сетки без заголовков . Основная часть данных «данных» будет помещена внутри некоторых div. Другие элементы jqGrid будут помещены в div как таблицы. Структура jqGrid (не полная) будет выглядеть следующим образом:

 div.ui-jqgrid#gbox_list div.ui-jqgrid-view#gview_list div.ui-jqgrid-titlebar - caption div.ui-userdata#t_list - optional top toolbar div.ui-jqgrid-toppager#list_toppager - optional top pager div.ui-jqgrid-hdiv - all grid headers div.ui-jqgrid-hbox - (div.ui-jqgrid-hbox-rtl) if direction:"rtl" table.ui-jqgrid-htable thead tr.ui-jqgrid-labels - row with column headers (labels) th#list_rn - optional column header with row numbers th#list_Col1 - column header for the column name:"Col1" ... th#list_level - optional column header for some other special columns in case of usage TreeGrid the hidden columns of TreeGrid are: level, parent, isLeaf, expanded, loaded, icon tr.ui-search-toolbar - row for toolbar searching th th ... div.frozen-div.ui-jqgrid-hdiv - optional frozen headers table.ui-jqgrid-htable - table with frozen columns headers only ... div.ui-jqgrid-bdiv - div with the main grid data div table#list - table with the main grid data div.frozen-bdiv.ui-jqgrid-bdiv - optional div with the main grid data div table#list_frozen - table with the main grid data div.ui-userdata#tb_list - optional bottom toolbar div.ui-jqgrid-resize-mark#rs_mlist div.ui-jqgrid-pager#pager - the div with the pager 

(здесь в таблице я использовал rownumbers: true , поэтому есть th#list_rn , первый столбец имеет имя «Col1», поэтому есть th#list_Col1 и т. д.),

Вы можете видеть, что таблица заголовков table.ui-jqgrid-htable может иметь два дочерних table.ui-jqgrid-htable

: один tr.ui-jqgrid-labels для заголовков столбцов и один tr.ui-search-toolbar для filterToolbar .

Мое предложение для вас не использует эту относительно сложную иерархию, но используйте другой короткий скрытый способ, существующий в jqGrid. Код

 var gridDom = $("#list")[0]; 

получите элемент DOM элемента таблицы. Этот элемент имеет некоторое важное расширение, которое создается jqGrid. Это gridDom.p которые содержат все параметры jqGrid. Другим важным расширением является gridDom.grid с важными свойствами bDiv , cDiv , hDiv , fbDiv , fhDiv , uDiv а также fhDiv , uDiv footers , topDiv и headers . Я предлагаю вам использовать gridDom.grid.headers массив как лучший способ получить список

элементов из заголовков столбцов сетки (из правильной строки

).

Если thead и th существует в DOM, его можно выбрать. У вас есть пример того, что вы пытаетесь сделать?

Пытаться:

 jQuery("thead", "#mygrid") 
  • Использование .text () для извлечения только текста, не вложенного в дочерние tags
  • Проблемы с API-интерфейсами API Google Maps v3 + jQuery
  • jQuery - обнаружение, если файл был выбран во входном файле
  • xmlHttp.getResponseHeader + Не работает для CORS
  • Как я могу использовать JQuery для публикации данных JSON?
  • Обрезка IE8 и JQuery ()
  • Форма Отправить jQuery не работает
  • ASP.NET MVC модальный диалог / всплывающая передовая практика
  • есть ли api в jqgrid для добавления расширенных фильтров для публикации данных?
  • отключить гиперссылку с помощью jQuery
  • jQuery шаблоны двигателей
  • Давайте будем гением компьютера.