如何使用jQuery在jqGrid上获取theader
?
答案 0 :(得分:15)
我的简短回答是:您应该使用
而不是选择与您要查找的<th>
元素相对应的DOM元素。
$("#list")[0].grid.headers
返回此DOM元素的数组,对应<th>
。我的答案的详细描述如下。
我理解你的问题的原因。例如,如果您将jqGrid的基本部分定义为
<table id="list"></table>
<div id="pager"></div>
然后$("#list")
为您<table>
提供仅“数据”网格无标题的部分。表格的主要“数据”部分将放在一些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
可以包含两个子<tr>
子元素:列标题为tr.ui-jqgrid-labels
,{{1}为tr.ui-search-toolbar
}。
我的建议不要使用这个相对复杂的层次结构,而是使用jqGrid中存在的另一种短隐藏方式。代码
filterToolbar
获取表元素的DOM元素。这个元素有一些重要的扩展,由jqGrid构成。这是var gridDom = $("#list")[0];
,其中包含jqGrid的所有参数。另一个重要的扩展名为gridDom.p
,其中包含重要属性gridDom.grid
,bDiv
,cDiv
,hDiv
,fbDiv
,fhDiv
以及{ {1}},uDiv
,cols
和footers
。我建议您使用topDiv
数组作为从网格列标题(来自正确的headers
行)接收gridDom.grid.headers
元素列表的最佳方式。
答案 1 :(得分:0)
如果DOM上存在thead
和th
,则可以选择它。你有一个你想要做的例子吗?
答案 2 :(得分:0)
尝试:
jQuery("thead", "#mygrid")