如何将班级表保留在新窗口中?

时间:2014-02-15 14:22:44

标签: javascript jquery

我有这个代码在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;

1 个答案:

答案 0 :(得分:0)

设置class属性是不够的。您需要在新窗口的文档中定义这些类。即包括定义那些样式表的样式表。假设在table中定义了CSS类sortablestyles.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();
}