Javascript 使用getElementsByTagName时未定义Textarea值
我陷入了一个非常简单的事情,我需要做,我无法解释为什么会发生这种情况。我有一个Javascript 使用getElementsByTagName时未定义Textarea值,javascript,Javascript,我陷入了一个非常简单的事情,我需要做,我无法解释为什么会发生这种情况。我有一个textarea,没有id或class或name,所以用js选择它的唯一方法是使用getElementsByTagName。这是我的HTML中唯一的textarea,因此很明显可以使用以下内容: var theSrc = document.getElementsByTagName('textarea')[0].value; 但是,当向SRC发出警报时,我总是得到未定义的代码。你知道为什么会这样吗 演示如下:这是因为您
textarea
,没有id
或class
或name
,所以用js选择它的唯一方法是使用getElementsByTagName
。这是我的HTML中唯一的textarea
,因此很明显可以使用以下内容:
var theSrc = document.getElementsByTagName('textarea')[0].value;
但是,当向SRC发出警报时,我总是得到未定义的代码。你知道为什么会这样吗
演示如下:这是因为您在首次读取脚本(位于页面头部)时读取了值,甚至在DOM准备就绪之前。读取函数中的值:
function displayValue() {
var theSrc = document.getElementsByTagName('textarea')[0].value;
alert(theSrc);
}
要么在正文后编写js,要么使用
$().ready(function(){
//code
});
由于在head中是在body之前加载的,所以变量“theSrc”不知道文本区域这是编写JavaScript的问题,在body标记内部编写时效果良好
<body>
--------textarea code
<script>
var theSrc = document.getElementsByTagName('textarea')[0].value;
</script>
</body>
--------文本区号
var theSrc=document.getElementsByTagName('textarea')[0]。值;
现在它可以工作了。这是因为文档优先执行。感谢您的解释。