jqGrid使用jQuery获取“th”和“thead”
如何使用jQuery获取theader
上的头文件?
我简短的回答是:而不是select相应的元素,你正在寻找你应该使用的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
和一个tr.ui-search-toolbar
。
我build议你不要使用这个相对复杂的层次结构,而是使用jqGrid中存在的另一个简短的隐藏方式。 代码
var gridDom = $("#list")[0];
得到你表格元素的DOM元素。 这个元素有一些由jqGrid所做的重要的扩展。 这是gridDom.p
,其中包含gridDom.p
所有参数。 另一个重要的扩展是gridDom.grid
具有重要的属性bDiv
, cDiv
, hDiv
, fbDiv
, fhDiv
, uDiv
以及cols
, topDiv
, topDiv
和headers
。 我build议您使用gridDom.grid.headers
数组作为从网格列标题(从正确的<tr>
行)接收<th>
元素列表的最佳方式。
如果DOM和DOM存在,可以select。 你有没有一个你想要做的例子?
尝试:
jQuery("thead", "#mygrid")