私はこれを試しましたが、「未定義」を示しています。
function test() {
var t = document.getElementById('superman').value;
alert(t); }
単純なJavascriptを使用して値を取得する方法はありますか?jQueryを使用しないでください!
回答:
のtextContent代わりに試してみることをお勧めしますinnerHTML。
GiveinnerHTMLは、DOMコンテンツを、だけStringでなく、の「テキスト」として返しますdiv。divテキストのみが含まれていることがわかっている場合は問題ありませんが、すべてのユースケースに適しているとは限りません。そのような場合は、おそらくtextContent代わりにを使用する必要がありますinnerHTML
たとえば、次のマークアップを検討します。
<div id="test">
Some <span class="foo">sample</span> text.
</div>
次の結果が得られます。
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
詳細については、MDNを参照してください。
innerHTML質問で要求されたテキストコンテンツのみを返さないでください。.textContent<IE9のフォールバックを使用した特徴検出に基づくソリューションを実装します
を使用するかinnerHTML(HTMLからテキストを解析する)、またはを使用できますinnerText。
let textContentWithHTMLTags = document.querySelector('div').innerHTML;
let textContent = document.querySelector('div').innerText;
console.log(textContentWithHTMLTags, textContent);
innerHTMLとinnerTextを含む(FireFoxの<44を除く)すべてのブラウザでサポートされていIE6。
.textContentIE8以下ではサポートされていないため、使いにくいです。