将按钮分配给变量适用于创建,选择现有元素时出错?
Assigning button to variable works on creation, error on selecting existing element?
let button:Element = document.createElement("button");//Works
let button:HTMLButtonElement = document.createElement("button");//Works
let button2:Element = document.getElementsByTagName("button");//Error why?
let button3:HTMLButtonElement = document.getElementsByTagName("button");//Error why??????
在 vs code 的帮助下,我相应地理解了缺少类列表和自动对焦的接口 属性。但如果是这样
- 为什么在创建元素时可以接受?
- 如何将变量分配给现有元素并为其添加事件侦听器?
这是不可接受的,因为
let button2:Element = document.getElementsByTagName("button");
let button3:HTMLButtonElement = document.getElementsByTagName("button");
return 一个数组而不是单个元素。要解决这个问题,例如从数组中选择第一项:
let button2:Element = document.getElementsByTagName("button")[0];
let button3:HTMLButtonElement = document.getElementsByTagName("button")[0];
let button:Element = document.createElement("button");//Works
let button:HTMLButtonElement = document.createElement("button");//Works
let button2:Element = document.getElementsByTagName("button");//Error why?
let button3:HTMLButtonElement = document.getElementsByTagName("button");//Error why??????
在 vs code 的帮助下,我相应地理解了缺少类列表和自动对焦的接口 属性。但如果是这样
- 为什么在创建元素时可以接受?
- 如何将变量分配给现有元素并为其添加事件侦听器?
这是不可接受的,因为
let button2:Element = document.getElementsByTagName("button");
let button3:HTMLButtonElement = document.getElementsByTagName("button");
return 一个数组而不是单个元素。要解决这个问题,例如从数组中选择第一项:
let button2:Element = document.getElementsByTagName("button")[0];
let button3:HTMLButtonElement = document.getElementsByTagName("button")[0];