我有一个很丰富的:dataTable,我有一个带有span的丰富列。 当页面加载时,此跨度需要一些值,如:true + false或true + true等。
根据这个值,我用jQuery隐藏包含这个span的tr,如:
<rich:jQuery query="ready(function() {
jQuery('#inbox:_inboxTable_').find('span[title=test]').each(function(i, o){
if (jQuery(this).text() == 'true+false' ){
jQuery(this).closest('tr').fadeOut();
}
});
})"/>
所有它在Internet Explorer和Chrome上运行正常但在Firefox上有点奇怪: - 当页面正常加载时,tr隐藏正常但是当我执行ajax请求(更改页码或大小)时,页面中的所有组件都会淡出...
你可以给我一个线索吗?答案 0 :(得分:1)
听起来好像网页布局是基于表格的,而closest('tr')
以某种方式返回了主体的第一个表格行,其中放置了整个内容。
此外,它让我感到奇怪的是,您似乎认为在每个ajax请求之后执行了相同的rich:jQuery
查询,因为ready()
实际上只是执行在页面加载期间。你的页面中的其他地方有没有其他jQuery / JS作品?或者你的ajax请求可能不像应该的那样异步?
您提供的信息非常简短。请尝试在代码级别详细说明问题,而不是从更高级别。不仅要告诉最终用户的观点,还要告诉开发人员在代码级别发生了什么。什么行被执行,什么不行。变量的值是什么?开发人员应该知道的那种事情。
如果尚未完成,请安装Firebug并使用其出色的Javascript调试程序。
答案 1 :(得分:0)
jQuery(this).closest('tr').fadeOut();
解决方案是使用parent by parent,直到找到span的'tr':
jQuery(this).parent().parent().parent().fadeOut();