1

我想将标题栏文本集中在 jqGrid 上,而不会弄乱打开/关闭图像。但我只能让文本打开/关闭按钮图像居中。对于如何在保持锚图像定位的同时使文本居中的一些提示,我将不胜感激。

这是 Chrome 的 Inspector 显示的标记:

<div class="ui-jqgrid-titlebar ui-widget-header ui-corner-top ui-helper-clearfix">
   <a role="link" href="javascript:void(0)"
      class="ui-jqgrid-titlebar-close HeaderButton" style="right: 0px;">       
       <span class="ui-icon ui-icon-circle-triangle-n"></span>
   </a>
   <span class="ui-jqgrid-title">Titles</span>
 </div>

谢谢

4

1 回答 1

3

尝试以下

jQuery(".ui-jqgrid-title").replaceWith('<div style="text-align: center;"><span>' +
        jQuery(".ui-jqgrid-title").text() + '</span></div>');

或与

jQuery(".ui-jqgrid-title").replaceWith(
    '<div style="text-align: center; padding: .3em .2em .2em .3em;"><span>' +
    jQuery(".ui-jqgrid-title").text() + '</span></div>');

更新:我应该稍微修正一下我的解决方案 1)允许setCaption方法继续工作;2)如果一个页面上有多个 jqGrid,则工作正确:

var captionDiv = jQuery("#list")[0].grid.cDiv;
var titleSpan = jQuery(".ui-jqgrid-title",captionDiv);
titleSpan.css ("float", "none");
titleSpan.parent().css ("text-align", "center");

在代码中,“list”是<table>网格元素的 id。jqGrid ( jQuery("#list")[0]) 的 DOM 元素扩展了grid属性,该属性具有三个重要的 jqGrid 组件(cDiv- 标题、hDiv- 表头和bDiv- 表体)的属性 DOM 元素。我们用来.grid.cDiv以最快的方式获取标题(网格标题)的 DOM 元素。然后我们给出一个span标题元素并覆盖类"float: left"的样式,"ui-jqgrid-title"这可能让你遇到最大的问题。最后我们设置父div元素的附加样式"text-align: center"来完成所有工作。

于 2010-06-20T16:18:23.840 回答