将标题栏文本置于jqGrid中,同时保持打开/关闭按钮的位置?

时间:2010-06-20 13:16:51

标签: jquery jqgrid titlebar

我想将标题栏文本放在jqGrid上,而不会弄乱打开/关闭图像。但我只能将两个文本和打开/关闭按钮图像集中在一起。我将非常感谢有关如何在保持anchor-image 定位的同时获取文本居中的一些提示。

这是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>

由于

1 个答案:

答案 0 :(得分: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 - caption,hDiv - 表头和bDiv - 表体)。我们使用.grid.cDiv以最快的方式获取标题的DOM元素(网格标题)。然后我们给出标题的span元素并覆盖"float: left"类的"ui-jqgrid-title"样式,这可能使您成为最大的问题。最后,我们将父div元素的其他样式设置为"text-align: center"以完成所有工作。