0

我正在尝试使用 jQuery 替换我在 ReportViewer 中返回的文本。我的 div 包含在表格单元格中,将“空”显示为文本 - 我计划在客户端用我自己的格式化文本替换它。

我可以很好地使用 jQuery 在 div 上设置一个类(它位于 td 元素内)。例子:

jQuery('div:contains("empty")').addClass('replacetext');

但由于某种原因,我不能这样做:

jQuery('div:contains("empty")').replaceWith('<div>Hello World</div>');

我在页面上的其他一些元素上尝试了这一点,jQuery 确实可以工作......但似乎这个问题是 ReportViewer(我使用的是 2008)特定的。

4

1 回答 1

0

我遇到的关键问题与问题有点不同。

我设置课程的方式 - 选择器是通用的,表格嵌套了一大堆 div 和表格和行。其中许多是不必要的,但将其归咎于 ReportViewer。

所以解决方案是特异性,这是我用来在非常精细的级别上选择级别的方法:

jQuery(document).ready(function() {
    jQuery('#container table table div:contains("empty")').addClass('persistent');
});

我使用了一种风格来标记有罪,因为我对使用 IE6 感到恐惧,并且开发工具栏无法与 firebug 相提并论。

.persistent {
    background-color: Yellow;   
}

很难查明错误,因为我在脚本顶部有另一个 jQuery,我没有注意到它弄乱了逻辑。

于 2010-05-17T14:23:04.547 回答