我有这个代码在div中显示id =“x_t”的表,在新窗口中id =“x”:
function showOrHideTable(id) {
var div = document.getElementById(id);
var popup = window.open("about:blank");
popup.document.open();
popup.document.write('<html><head></head>' + div.innerHTML + '</html>');
popup.document.getElementById(id + '_t').style.display = "block";
popup.document.getElementById(id + '_t').setAttribute("class","table sortable");
popup.document.close();
}
但是在新窗口中设置属性类“table sortable”并没有效果...... 在父窗口中,它显示与此类完美,但不是在新窗口中。 该表显示为文本简单且不良..
如何在新窗口中保留表类? 谢谢你,原谅我的英语
编辑: sortable是一个使表可以按列排序的js table是一个由它加载的css:
提升:环绕=“默认”at =“content”&gt;
答案 0 :(得分:0)
设置class属性是不够的。您需要在新窗口的文档中定义这些类。即包括定义那些样式表的样式表。假设在table
中定义了CSS类sortable
和styles.css
,您需要执行以下操作:
function showOrHideTable(id) {
var div = document.getElementById(id);
var popup = window.open("about:blank");
popup.document.open();
popup.document.write('<html><head>'++
'<link rel="stylesheet" href="styles.css">'+ // include the stylesheet
'</head>' + div.innerHTML + '</html>');
popup.document.getElementById(id + '_t').style.display = "block";
popup.document.getElementById(id + '_t').setAttribute("class","table sortable");
popup.document.close();
}