HTML:如何将字符串转换为DOM元素以与canvas元素一起使用?
<img src="person.png" id="person"/>
的JavaScript:
var object0 = document.getElementById("person");
var i = 0;
context.drawImage(object0, object0X, object0Y);// this works
context.drawImage("object" + i, object0X, object0Y);// this doesn't
错误消息:
Could not convert JavaScript argument arg 0 [nsIDOMCanvasRenderingContext2D.drawImage]
我读的地方,我得到了错误的原因是,它是一个DOM元素,不是一个字符串。那么,我需要运行一个for循环,以便可以在屏幕上影响多个对象,因此需要进行一些连接。有没有类似parseInt()我可以使用?
+1是完全正确的。请注意,在这种情况下,可能不需要使用具有命名属性的对象而不仅仅是一个数组:'var images = []; images [0] = document.querySelector('#person'); (...){ctx.drawImage(images [i],...); }' – Phrogz 2012-04-18 18:57:04
@Progrog非常真实;最简单的解决方案有时会让我失望。 – 2012-04-18 19:08:15
FWIW,无论何时有人试图动态查找局部变量,将它们作为命名条目存储在对象中的建议_is_默认的第一个答案,所以这是完全可以理解的(并且在答案中有)。 – Phrogz 2012-04-18 19:10:04