getElementsByTagName("test")[0].toDataURL("image/jpg") 为什么获取不到toDataURL()?

image.png

为什么toDataURL()用不了?报错toDataURL is not a function.

阅读 1.5k
2 个回答

因为document.getElementsByTagName("test")[0]返回的类型是Element而非HTMLCanvasElement
如果你用的是ts,需要这么写

(document.getElementsByTagName("test")[0] as HTMLCanvasElement).toDataURL("image/jpg");

如果是js,关闭这个校验就ok了
VSCode 设置-首选项-设置,搜索checkjs,取消勾选即可
image.png

toDataURL是原生canvas对象上的方法,可能你获取的不是canvas元素,建议直接给canvas标签加个id直接获取

const canvas = document.getElementById("canvas");
canvas.toDataURL("image/jpg");
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题