我有rich:dataTable
。我想用这段代码隐藏一行:
<c:if test="#{not empty documents && documents.size!=0}">
<rich:jQuery selector="#_inboxTable_ tr"
query="ready(function() {
jQuery.noConflict();
if ( jQuery(this).find('checkboxStatus').attr('checked', true)) {
new Effect.Fade(jQuery(this));
}
})"
/>
</c:if>
问题是我收到: element.getInlineOpacity不是函数错误....
我最初假设我不能用这种淡化效果隐藏一行,但是我已经制作了一个简单的其他表,所有这些都正常工作......
你能给我一个关于这个问题的线索吗?
答案 0 :(得分:0)
element.getInlineOpacity is not a function
我以前从未见过这个,所以我Googled了一下。结果是什么?它看起来像你(至少在引擎盖下)将jQuery与Prototype或Scriptaculous混合在一起并且整个事物相互碰撞。
清理并重试。
编辑正如其他人已经指出的那样,你需要用jQuery fadeOut()
函数替换非jQuery的东西new Effect.Fade()
。
答案 1 :(得分:0)
Effect.fade
不是jquery代码,可能会导致您出现问题。特别是因为你传递了一个jquery对象。您可以尝试将原始DOM元素传递给它,例如。
if ( jQuery(this).find('checkboxStatus').attr('checked', true)) {
new Effect.Fade(this);
}
然后再说一遍,我不确定这整个富表的确是什么......或者你正在尝试做什么......你想淡出任何带有复选复选框的表格行吗?什么是checkboxStatus
?它是一个类(在这种情况下,上面的代码中应该有一个.
)?
根据您的尝试,这样的事情可能是更简洁的方法:
jQuery(this).find('.checkboxStatus:checked').parent('tr').fadeOut();