我遇到了一个问题,我无法遍历我创建的多个画布标签的id来编辑各种像素数据。所有画布的id都在0到n之间。但是当创建id时,数字会变成字符串。
所以,如果我创建一个迭代遍历与标签的id相对应的数字的循环,我该如何使它成为.getElementById();方法会将数值识别为字符串值? (这可能有点不清楚,但代码应该清理一切)
for (var i = 0; i < 3; i++) {
var useGetImageData = function(i){
var canvas=document.getElementById(i);
var context=canvas.getContext("2d");
var imageData = context.getImageData(0,0,canvas.width,canvas.height);
var data = imageData.data;
}
}
画布ID是; “0”,“1”,“2”
答案 0 :(得分:0)
试试这个。你也没有调用函数(无论如何在循环中创建都很糟糕。)
var useGetImageData = function(i){
var canvas=document.getElementById(i);
var context=canvas.getContext("2d");
var imageData = context.getImageData(0,0,canvas.width,canvas.height);
var data = imageData.data;
}
for (var i = 0; i < 3; i++) {
// useGetImageData(''+i);
// As @Andrew points out, it gets interpreted as a string.
userGetImageData(i);
}
答案 1 :(得分:0)
您不必做任何事情,getElementById
已经知道元素ID总是字符串。您发布的代码正常运作。