我陷入了一个非常简单的事情,我需要做,我无法解释为什么会发生这种情况。我的textarea
没有id
或class
或name
,因此使用js选择它的唯一方法是使用getElementsByTagName
。它是我HTML中唯一的textarea
,因此使用以下内容非常明显:
var theSrc = document.getElementsByTagName('textarea')[0].value;
然而,在提醒theSrc
时,我总是得到undefined
。任何想法为什么会发生这种情况?
答案 0 :(得分:8)
那是因为你在第一次读取脚本(位于页面的HEAD中)时读取了值,甚至在DOM准备好之前。读取函数中的值:
function displayValue() {
var theSrc = document.getElementsByTagName('textarea')[0].value;
alert(theSrc);
}
答案 1 :(得分:1)
在身体后面写下你的js或使用
$().ready(function(){
//code
});
因为head在body之前被加载,所以变量“theSrc”不知道文本区域
答案 2 :(得分:1)
这是你编写JavaScript的问题,当你在body标签内写字时,它可以正常工作。
<body>
--------textarea code
<script>
var theSrc = document.getElementsByTagName('textarea')[0].value;
</script>
</body>
现在它会起作用。那是因为文件优先执行。