Typescriptでアプリケーションを作っているのですがdocument.getElementsByNameで要素を複数取得し処理をしようとしているのですが特有の型式エラーが出ています。ネットで調べてNodeListOf<HTMLElement>と定義したのですが上手くいきませんでした。どのようにすればエラーを解消できますか?
実現したいこと
エラーを消したい
発生している問題・エラーメッセージ
//以降が起きているエラーメッセージです。
const elements = document.getElementsByName("select") as NodeListOf<HTMLElement>; let posts :never[]= []; for (let i=0; i<elements.length; i++){ if (elements[i].checked){ //プロパティ 'checked' は型 'HTMLElement' に存在しません。 posts.push(elements[i].value); //型 'any' の引数を型 'never' のパラメーターに割り当てることはできません。ts(2345) //プロパティ 'value' は型 'HTMLElement' に存在しません。 } }
tsconfig.json
念の為tsconfigも載せておきます。
{ "compilerOptions": { "target": "es5", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": [ "src" ] }
0 コメント