AfterInsertRow,setCell.以编程方式更改单元格的内容

Rom*_*nof 6 jqgrid

我是JqGrid的新手,所以请耐心等待.当我使用showlink格式化程序时,我在设置单元格样式时遇到了一些问题.在我的配置中,我设置了AfterInsertRow,如果我只显示简单文本,它可以正常工作:

 afterInsertRow: function(rowid, aData) {
   if (aData.Security == `C`) {
     jQuery('#list').setCell(rowid, 'Doc_Number', '', { color: `red` });
 } else
 {
   jQuery('#list').setCell(rowid, 'Doc_Number', '', { color: `green` });
 }
}, ...
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常,但只要我添加一个格式化程序

{'Doc_Number, ..., 'formatter: ’showlink’, formatoptions: {baseLinkUrl: ’url.aspx’}
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,因为新元素被添加到单元格

<a href='url.aspx'>cellValue</a>
Run Code Online (Sandbox Code Playgroud)

是否可以使用类似上面的代码以编程方式访问新的子元素并更改样式?

`<a href='url.aspx' style='color: red;'>cellValue</a>` etc.
Run Code Online (Sandbox Code Playgroud)

更新:为了工作,你必须做如下:

jQuery('#list').setCell(rowid, 'Doc_Number', '', 'redLink');
Run Code Online (Sandbox Code Playgroud)

CSS类

.redLink a {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

Jus*_*ier 6

您可以向单元格添加一个类:

jQuery('#list').setCell(rowid, 'Doc_Number', '', 'redLink');
Run Code Online (Sandbox Code Playgroud)

然后沿着这些行定义一个CSS类:

.redLink a {
    color: red;
}
Run Code Online (Sandbox Code Playgroud)