質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2273閲覧

"document.getElementById("val")."までを入力した際に,"value"が補完にでるようにしたい

takes_

総合スコア11

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

1クリップ

投稿2019/06/05 14:39

前提・実現したいこと

Javascriptの学習をしています.エディタはVSCodeを使用しています.
下記のコードなかで"document.getElementById("val")."までを入力した際に,"value"のインテリセンスが表示されません.
表示されるようにするにはどうしたよいのか,アドバイスをいただきたいです.
よろしくお願いします.

発生している問題・エラーメッセージ

"document.getElementById("val")."までを入力した際に,"value"のインテリセンスが表示されない.

該当のソースコード

javascript

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>Document</title> 8 <script> 9 function display() 10 { 11 let disp = document.getElementById("val").value 12 let r = document.getElementById("result"); 13 r.textContent = disp 14 } 15 </script> 16</head> 17<body> 18 <input id="val" /> 19 <button onclick="display()">表示</button> 20 <p id="result"></p> 21</body> 22</html>

補足情報(FW/ツールのバージョンなど)

エディタ:VSCode 1.34.0
拡張機能はいれていません

x_x👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

getElementById の戻り値は HTMLElement で、HTMLInputElementインターフェイスを持っているかどうかは要素のタグまで解析しないと分かりませんが、デフォルトだとそこまではやってくれないみたいです。

JSDocが使えるので、コーディングする際にプロパティの一覧を見たい、という用途であれば
@typeアノテーションが使える様です。

JavaScript

1/** @type {HTMLInputElement} */ 2let val = document.getElementById('val'); 3 4val. // @typeでvalはHTMLInputElementと定義しているので入力候補が変わる 5

投稿2019/06/05 16:28

Eggpan

総合スコア2729

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/06/06 00:44

Bracketsとか他のエディタも一回変数で受けないと valueは出してくれませんね(nodeValueなどは出る)。どのエディタでも大抵そういうものかもしれません。
takes_

2019/06/06 13:16

ありがとうございます!参考になりました!
Eggpan

2019/06/10 12:52

気になっていくつかエディタ試してみましたけど、自動でinputタグの検出まではやってくれるものはなさそうですね。 よくよく考えたら同じファイルのscriptタグならともかく、JavaScriptが別ファイルの場合は呼び出し元のhtmlファイルの中身を解析しにいかないと無理なので作る人がいないのかもです。 全部InputElement扱いにしたらdocument.getElementById('val')が<div>タグなのにvalueプロパティがあって、これはこれで邪魔、みたいになっちゃいますしね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問