我正在尝试使用jQuery替换我在ReportViewer中返回的文本。我的div包含在表格单元格中,显示为“空”作为文本 - 我计划在客户端替换为我自己的格式化文本。
我可以使用jQuery就可以在div上设置一个类(在td元素中)。例如:
jQuery('div:contains("empty")').addClass('replacetext');
但出于某种原因,我不能这样做:
jQuery('div:contains("empty")').replaceWith('<div>Hello World</div>');
我在页面上的其他一些元素上尝试了这一点,jQuery确实有效......但似乎这个问题是ReportViewer(我使用的是2008)特定的。
答案 0 :(得分:0)
我遇到的关键问题与问题有点不同。
我设置类的方式 - 选择器是通用的,表格嵌套了div和表格和行。其中许多都是不必要的,但在ReportViewer上却要归咎于此。
所以解决方案是特异性,这是我用来在非常精细的级别选择级别的方法:
jQuery(document).ready(function() {
jQuery('#container table table div:contains("empty")').addClass('persistent');
});
我使用了一种风格来标记有罪,因为我对使用IE6感到恐惧并且开发工具栏与firebug不相上下。
.persistent {
background-color: Yellow;
}
很难确定错误,因为我在脚本的顶部有另一个jQuery,我没有注意到它弄乱了逻辑。