- ベストアンサー
空の要素の文字列を取得するとnullではなくund
空の要素の文字列を取得するとnullではなくundefinedが返ってくるのはなぜでしょうか? var history1Txt = history1.value; また値が入っていてもundefinedが返ってきます。 値が入っている時だけ新しい履歴のテキストを古い履歴にコピーして、常に履歴がサイクルするようにしたいです。 https://codepen.io/anon/pen/MVzRLa
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> inputの入力欄に入力したテキストもinnerHTMLでないと取得できませんか? inputの入力欄に入力した値はinputタグのvalueプロパティに格納されるのでvalueで取得できます。 inputタグに初期値をセットする場合はvalueプロパティに値を入れると、そのまま画面上の入力欄に表示されるのと同じ理屈です。
その他の回答 (2)
- t_ohta
- ベストアンサー率38% (5238/13705)
> pタグのなかに文字列があってもこのタグだけ特別valueプロパティがないということなのでしょうか? <p id="hoge" value="文字列"></p> となっている場合は document.getElementById("hoge").value で値(文字列)が取り出せます。 <p id="hoge">文字列</p> となっている場合は value は undefined となり、document.getElementById("hoge").innerHTML で値(文字列)が取り出せます。
- t_ohta
- ベストアンサー率38% (5238/13705)
undefined は変数が定義されていないと言う事です。 <p>タグにはvalueと言うプロパティが存在しないので undefined となっています。
お礼
pタグのなかに文字列があってもこのタグだけ特別valueプロパティがないということなのでしょうか?
お礼
ありがとうございます。たしかにできました。 valueはvalueプロパティの値を取得するので、htmlでvalueプロパティの値のみを取得してタグの間のテキストは取得できないのですね。 inputの入力欄に入力したテキストもinnerHTMLでないと取得できませんか?