web-dev-qa-db-ja.com

エラー:プロパティ 'select'はHTMLElement型に存在しません

no error local demo

vscode complains error

 function copy(){
        var Url=document.getElementById("Id");
        Url.select(); //error
        document.execCommand("Copy"); // browser copy
        }

上記のように。ブラウザでテキストをコピーする関数を作成しようとしていますが、タイトルとしてのエラーがTypeScriptで発生しました。 select()は有効だと思います( link )、デモで使用するときに正しくコピーできるため私のtsバージョンは2.8.1です

8
John

type assertion を追加する必要があります:

var Url = document.getElementById("Id") as HTMLInputElement;
Url.select(); // OK

理由

getElementByIdは、任意のHTMLElementsを返すことができます。あなたの場合そのinput要素を知っているので、型アサーションを使用してTypeScriptに伝えることができますか????。

35
basarat

selectメソッドは HTMLInputElement sに対して定義されています。以下は、TypeScriptエラーを取り除きます。

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