Javascript 错误:HtmleElement类型上不存在属性“select”

Javascript 错误:HtmleElement类型上不存在属性“select”,javascript,typescript,visual-studio-code,Javascript,Typescript,Visual Studio Code,如上所述。我正在尝试创建一个在浏览器中复制文本的函数。但出现了作为标题的错误 用打字稿。 我认为select是有效的,因为我在演示中使用它时可以正确复制。 我的ts版本是2.8.1您需要添加: 原因 getElementById可以返回任何HTMLElements。在您的例子中,您知道它是一个输入元素,所以您可以告诉TypeScript,通过使用类型断言select方法是为s定义的。下面将消除TypeScript错误 let Url: HTMLInputElement = document.ge

如上所述。我正在尝试创建一个在浏览器中复制文本的函数。但出现了作为标题的错误 用打字稿。 我认为select是有效的,因为我在演示中使用它时可以正确复制。 我的ts版本是2.8.1

您需要添加:

原因 getElementById可以返回任何HTMLElements。在您的例子中,您知道它是一个输入元素,所以您可以告诉TypeScript,通过使用类型断言select方法是为s定义的。下面将消除TypeScript错误

let Url: HTMLInputElement = document.getElementById("Id") as HTMLInputElement;
Url.select();
document.execCommand("Copy");

您尝试从select中选择文本的元素是什么类型的元素select不是HtmleElement方法,它是API的一部分,它是一个输入元素。但是它复制正确,即使vscode也会抱怨错误。复制文本是的,我也认为select不是HTMLElement方法。但是为什么选择工作得很好,所以为什么即使我检查了copyText上没有select方法,演示也能正常工作。这个方法在它的原型链上存在吗?是的,我知道了。HTMLInputElement具有select方法。谢谢我试图使用的类似问题,但它抛出了另一个错误,因此遇到了这篇文章。。。。救命恩人!!!谢谢你的投票。如果您查看已编辑的已接受答案链接,则该链接已从此答案复制。这是第一个正确答案!!
var Url = document.getElementById("Id") as HTMLInputElement;
Url.select(); // OK
let Url: HTMLInputElement = document.getElementById("Id") as HTMLInputElement;
Url.select();
document.execCommand("Copy");