不是函数尝试使用getElementsByTagName查找元素

时间:2018-03-30 03:22:11

标签: javascript

我有这个代码,为了获得一个getElementsByTagName方法的元素,d var是正确的,你可以在console.log(d)中看到,但它不适用于find元素的方法那么,错误是什么?

错误:

  

d.getElementsByTagName不是函数

function main(w, d) {
 console.log(d); // Works
 const CANVAS = d.getElementsByTagName("canvas")[0]; // No works..
 console.log(CANVAS);
}

window.addEventListener("load", main.bind(window, document));
<title>Hello world </title>
<canvas></canvas>

1 个答案:

答案 0 :(得分:0)

bind的第一个参数是绑定的this对象。您应该将绑定语句更改为main.bind(null, window, document)
或将主要功能更改为:

function main(d, event) { // supposing you will use the dom event 
 console.log(d); 
 const CANVAS = d.getElementsByTagName("canvas")[0]; // No works..
 console.log(CANVAS);
}

您现在从console.log(d)看到的是addEventListener传递的事件对象