我们可以动态使用document.getElementById()

时间:2017-11-16 10:06:55

标签: javascript html angularjs

我正在尝试使用window.print打印html页面。为每个其他API调用更新html页面的位置。所以我可以连续打印每个休息API调用???

    var myPrintContent = document.getElementById("data-box"); 
    var myPrintWindow = window.open('','Print-Window');
    var popupWindow = window.open('','Print-Window');
    popupWindow.document.write('<TITLE></TITLE>\n');
    popupWindow.document.write('<URL></URL>\n');
    popupWindow.document.write('<script>\n');
    popupWindow.document.write('function print_win(){\n');
    popupWindow.document.write('\nwindow.print();\n');     
    popupWindow.document.write('}\n');
    popupWindow.document.write('<\/script>\n');
    popupWindow.document.write('</HEAD>\n');
    popupWindow.document.write('<BODY onload="print_win()" >\n');         
    popupWindow.document.write(myPrintContent.innerHTML)
    popupWindow.document.write('</BODY>\n');
    popupWindow.document.write('</HTML>\n');
    popupWindow.document.close();

这就是我在做的事情。因此,对于不同的员工,data-box.innerhtml的内容是不同的。因此,每次我打印一页我都会得到。但对于下一位员工,如果我再次调用打印功能,则只会打印被叫员工详细信息。所以我想要的是,如果我为不同的员工提供不同的ID,我怎样才能动态获取所有ID。所以,一旦我打印出来,我就能得到所有员工的所有数据。

1 个答案:

答案 0 :(得分:0)

window.print();

可以在w3school读取是打印当前窗口的方法。它与document.getElementById()方法无关。 如果您有兴趣打印页面,只需打印窗口即可。就是这样。

但是如果你想将document.getElementById()用于其他目的,你可以考虑传递元素的变量(动态id)。 这是你怎么做的

var myId = "my-element-id";
var myContent = document.getElementById(myId).innerHTML;

最好发布任何代码以获得更好的帮助。