3 回答
TA貢獻1794條經驗 獲得超8個贊
我的簡短回答是:而不是選擇與<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用于列標題,另一個tr.ui-search-toolbar用于filterToolbar。
我的建議不要使用這個相對復雜的層次結構,而是使用jqGrid中存在的另一種短隱藏方式。代碼
var gridDom = $("#list")[0];得到表元素的DOM元素。這個元素有一些重要的擴展,由jqGrid構成。這gridDom.p包含jqGrid的所有參數。另一個重要的擴展是gridDom.grid有重要的屬性bDiv,cDiv,hDiv,fbDiv,fhDiv,uDiv和也cols,footers,topDiv和headers。我建議你使用gridDom.grid.headers數組作為<th>從網格列標題(從正確的<tr>行)接收元素列表的最佳方式。
- 3 回答
- 0 關注
- 1032 瀏覽
添加回答
舉報
