10

私は、私がしなければならない非常に単純なことに行き詰まっており、なぜこれが起こっているのか説明できません. ortextareaなしのがあるので、js で選択する唯一の方法は を使用することです。これは私の HTML で唯一のものなので、次を使用することは明らかです。idclassnamegetElementsByTagNametextarea

var theSrc = document.getElementsByTagName('textarea')[0].value;

ただし、アラートtheSrcを出すと、常にundefined. なぜこれが起こっているのですか?

デモは次のとおりです。http://jsfiddle.net/D3zBU/

4

3 に答える 3

9

これは、DOM の準備が整う前に、スクリプト (ページの HEAD にある) が最初に読み取られるときに値を読み取るためです。関数内の値を読み取ります:

function displayValue() {
    var theSrc = document.getElementsByTagName('textarea')[0].value;
    alert(theSrc);
}
于 2013-03-19T10:08:15.283 に答える
1

本文の後にjsを書くか、

$().ready(function(){
    //code
});

頭のように体の前にロードされるので、変数「theSrc」はテキスト領域について何も知りません

于 2013-03-19T10:14:37.527 に答える
1

JavaScriptを記述している場所の問題であり、bodyタグ内に記述した場合に正常に機能します。

<body>
--------textarea code
<script>
var theSrc = document.getElementsByTagName('textarea')[0].value;
</script>
</body>

今それは動作します。これは、ドキュメントの優先順位が実行されるためです。

于 2013-03-19T10:15:47.083 に答える