大家好,我对IE10和chrome有问题。展开表格后,IE10 不会折叠,对于 chrome,它将在它之间留出空格。它在IE8,Firefox中的工作。我已经尝试显示:无和显示:表行。但它仅适用于IE 10。
这是JavaScript代码
function loadSessionLogEvents(id) {
var visibility = $('eventTR' + id).style.visibility;
if (visibility == 'collapse')
{
$('eventTR' + id).style.visibility = 'visible';
var tURL = '<%=request.getContextPath()%>/home/Folder.action?listSessionLogEvents=&sessionLogId=' + id;
new Ajax.Updater($('detailTR' + id), tURL, {
method: 'get',
evalScripts: 'hidden'
});
} else {
$('eventTR' + id).style.visibility = 'collapse';
}
}
所以我更改后的代码应该是这样的吗?
function loadSessionLogEvents(id) {
var visibility = $('#eventTR' + id).css('visibility');
if (visibility == 'collapse')
{
$('eventTR' + id).css('visibility','');
var tURL = '<%=request.getContextPath()%>/home/Folder.action?listSessionLogEvents=&sessionLogId=' + id;
new Ajax.Updater($('detailTR' + id), tURL, {
method: 'get',
evalScripts: 'hidden'
});
} else {
$('eventTR' + id).css('visibility','collapse');
}
}
这是点击按钮功能
href="#" onclick="javascript:loadSessionLogEvents('${file.session.id}')">
根据评论,这里存在多个问题
- 您需要对
eventTR
和detailTR
元素使用 id 选择器而不是元素选择器 - jQuery 包装器对象没有调用
style
的属性,您需要使用 .css() 来获取和设置 css 值
尝试
function loadSessionLogEvents(id) {
var $tr = $('#eventTR' + id);
var visibility = $tr.css('visibility')
if (visibility == 'collapse') {
$tr.css('visibility', 'visible')
var tURL = '<%=request.getContextPath()%>/home/Folder.action?listSessionLogEvents=&sessionLogId=' + id;
new Ajax.Updater($('#detailTR' + id), tURL, {
method: 'get',
evalScripts: 'hidden'
});
} else {
$tr.css('visibility', 'collapse')
}
}