如何解决发现实际页面中是否包含jqGrid对象
| 标题中的问题几乎是完整的:是否可以使用jquery查找jqgrid对象处理的元素? 更准确地说,如果页面上存在一个重新加载方法,我希望在网格上调用它。 我正在使用以下代码...
success: function (data) {
//Check if there is a jqgrid on the page and if present,reloads its data
var jqgrid = $(\'.ui-jqgrid\');
if ( jqgrid.length ) {
//get the grid id. The actual id object is in the form of \"gBox_your_grid_id\"
var gridid = \"#\" + jqgrid.attr(\'id\').substring(5);
//time to reload
$(grid).trigger(\'reloadGrid\');
}
}
但似乎从未调用过reloadGrid方法。有什么建议吗?
解决方法
很难建议任何将是完美的测试。您可以尝试例如搜索\“ gbox \”:
$(\'div.ui-jqgrid\')
-它是一个div,其中包含jqGrid的所有组件。如果$(\'div.ui-jqgrid\').length > 0
,则页面上至少存在网格。
您可以在bdiv中搜索table
元素:
$(\'div.ui-jqgrid-bdiv table\').length > 1
甚至
if ($(\'div.ui-jqgrid > div.ui-jqgrid-view > div.ui-jqgrid-bdiv > div > table.ui-jqgrid-btable\').length > 1) {
// jqGrid exist
}
(有关详细信息,请参见此处)。另外,您可以测试此类表元素是否具有jqGrid
方法:
if ($.isFunction($(\'div.ui-jqgrid > div.ui-jqgrid-view > div.ui-jqgrid-bdiv > div > table.ui-jqgrid-btable\').jqGrid)) {
// jqGrid exist
}
, 我不了解jqGrid本身,但是我很确定要看看它为样式元素添加了自定义类的作用,因此您很可能可以确定哪个类是您感兴趣的,然后使用$(\'.classname\')
来获取所有元素。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。