获取基于id的html div并对其进行克隆并尝试删除特定的css类以获取跟随错误。
错误:来源无效 - 请指定HTML元素或字符串。
document.getElementById("btnPrint").onclick = function() {
var cont = $('#element-to-print').clone(); // clone of html div
var newt = $(cont).find(".masteredit").remove(); // trying to remove the particular css class from clone.
html2pdf(newt, { // sending clone(newt) to print
margin: 0.25,
filename: $scope.defendantHeader.firstName + "-" + $scope.defendantHeader.lastName + "-" + $scope.defendantHeader.activeFileNumber,
image: {
type: 'jpeg',
quality: 0.98
},
html2canvas: {
dpi: 192,
letterRendering: true
},
jsPDF: {
unit: 'in',
format: 'letter',
orientation: 'portrait'
},
});
}))
}
答案 0 :(得分:0)
.css()
函数删除整个html元素。使用removeClass()
函数或{{1}}删除与css相关的问题。
答案 1 :(得分:0)
尝试使用var newt = $(cont).removeClass("masteredit");
答案 2 :(得分:0)
错误是因为你正在为html2pdf()
构造函数提供一个jQuery对象,当它需要一个字符串或Element对象时(根据documentation)。
请注意,当您使用不显眼的事件处理程序时,您正在使用过时的onclick
属性。此外,您再次重建cont
对象,这是可以避免的。试试这个:
$(function() {
$('#btnPrint').click(function() {
var $cont = $('#element-to-print').clone();
$cont.find(".masteredit").remove();
html2pdf($cont[0], {
margin: 0.25,
filename: $scope.defendantHeader.firstName + "-" + $scope.defendantHeader.lastName + "-" + $scope.defendantHeader.activeFileNumber,
image: {
type: 'jpeg',
quality: 0.98
},
html2canvas: {
dpi: 192,
letterRendering: true
},
jsPDF: {
unit: 'in',
format: 'letter',
orientation: 'portrait'
},
});
}))
}