javascript - 如何从 html 格式的文本创建元素?

标签 javascript html angularjs canvas

我使用的是 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/

相关文章:

javascript - 在 Phonegap(Android) 应用程序上使用闭包库

javascript - Google map 仅在 IE7 中无法加载 : 'Unexpected call to method or property access'

javascript - 使用按钮(在我的转发器中)使用 javascript 显示隐藏信息但似乎不起作用

javascript - 从 JavaScript 输出 HTML 的推荐方法

javascript - 使用 getElementById 更新 html 输入并使用 AngularJs 进行过滤

javascript - Firebase TIMESTAMP 到日期和时间

angularjs - Laravel 5 + AngularJS html5Mode

javascript - Skrollr.js 未激活

html - 不同分辨率下的不同 Div 对齐

javascript - 调整背景图像大小的替代方法