我使用的是 Angular 1.29 和 Chrome。
我有一些文字,例如
<p>Text <strong> bold </strong> </p>
我需要将它变成一个元素
,因为我正在使用的库,html2canvas ,需要发一份。
所以我尝试了这个,这是我从 this answer 中获取的
var div = document.createElement('div');
div.innerHTML = $scope.presData.text;
var element = div.firstChild;
html2canvas(element,{
onrendered:function(newCanvas){
document.getElementById("newPresentation").appendChild(newCanvas);
}
});
我的文本位于$scope.presData.text
中,
但这没有用。这将创建一个宽度和高度均为 0 的 Canvas 。
最佳答案
使用 HTML 元素的 innerHTML 应该将它们格式化为文档节点。
var HTMLString = '<p>Text <strong> bold </strong> </p>';
var HTMLStringContainer = document.createElement('div');
HTMLStringContainer.innerHTML = HTMLString;
如果您的 Canvas 遇到一些问题,我认为您的问题出在其他地方。
关于javascript - 如何从 html 格式的文本创建元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27492968/