• ベストアンサー

空の要素の文字列を取得するとnullではなくund

空の要素の文字列を取得するとnullではなくundefinedが返ってくるのはなぜでしょうか? var history1Txt = history1.value; また値が入っていてもundefinedが返ってきます。 値が入っている時だけ新しい履歴のテキストを古い履歴にコピーして、常に履歴がサイクルするようにしたいです。 https://codepen.io/anon/pen/MVzRLa

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.3

> inputの入力欄に入力したテキストもinnerHTMLでないと取得できませんか? inputの入力欄に入力した値はinputタグのvalueプロパティに格納されるのでvalueで取得できます。 inputタグに初期値をセットする場合はvalueプロパティに値を入れると、そのまま画面上の入力欄に表示されるのと同じ理屈です。

その他の回答 (2)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

> pタグのなかに文字列があってもこのタグだけ特別valueプロパティがないということなのでしょうか? <p id="hoge" value="文字列"></p> となっている場合は document.getElementById("hoge").value で値(文字列)が取り出せます。 <p id="hoge">文字列</p> となっている場合は value は undefined となり、document.getElementById("hoge").innerHTML で値(文字列)が取り出せます。

mousugusokoni
質問者

お礼

ありがとうございます。たしかにできました。 valueはvalueプロパティの値を取得するので、htmlでvalueプロパティの値のみを取得してタグの間のテキストは取得できないのですね。 inputの入力欄に入力したテキストもinnerHTMLでないと取得できませんか?

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

undefined は変数が定義されていないと言う事です。 <p>タグにはvalueと言うプロパティが存在しないので undefined となっています。

mousugusokoni
質問者

お礼

pタグのなかに文字列があってもこのタグだけ特別valueプロパティがないということなのでしょうか?

関連するQ&A