使用getElementsByTagName时,未定义Textarea值

oti*_*nai 8 javascript

我陷入了一个非常简单的事情,我需要做,我无法解释为什么会发生这种情况.我有一个textarea没有idclassname,所以用js选择它的唯一方法是使用getElementsByTagName.这是textarea我的HTML中唯一的,所以使用以下内容非常明显:

var theSrc = document.getElementsByTagName('textarea')[0].value;
Run Code Online (Sandbox Code Playgroud)

然而,当theSrc我总是得到警报时undefined.任何想法为什么会发生这种情况?

这是演示:http://jsfiddle.net/D3zBU/

Den*_*ret 8

那是因为你在第一次读取脚本(位于页面的HEAD中)时读取了值,甚至在DOM准备好之前.读取函数中的值:

function displayValue() {
    var theSrc = document.getElementsByTagName('textarea')[0].value;
    alert(theSrc);
}
Run Code Online (Sandbox Code Playgroud)