在JavaScript

时间:2017-06-01 19:43:29

标签: javascript html

我正在尝试在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。

如何在此设置图像源?

1 个答案:

答案 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附加到文档的(范围之外)问题。