我正在尝试在JavaScript
中获取动态创建的元素的ID,以将 src 设置为:
$scope.source = canvas.toDataURL();
let htmlString = "<img id='imageId' style='height: 100px; width: 100px;'>";
let doc = document.createElement('div');
doc.innerHTML = htmlString;
let image = doc.getElementById('imageId');
image.src = $scope.source;
但我总是将图片视为未定义,因为 doc 中没有方法getElementById。
如何在此设置图像源?
答案 0 :(得分:0)
HTML元素没有getElementById()
方法,该方法是document
类的HTMLDocument
实例的一部分,但您的var doc
指的是新创建的<div>
,而不是文档。您可以使用:
let image = document.getElementById('imageId');
然而,在您真正将图像放入文档之前,这实际上是不可行的,并且在您附加<div>
之前不会有效。<\ n> / p>
或者在现代浏览器上(我假设你正在使用ES6语法),你可以使用:
let image = doc.querySelector('#imageId');
不依赖于DOM中的元素,因为查询调用是以(分离的)div为根。这仍然会让你知道在哪里以及如何将div附加到文档的(范围之外)问题。