javascript getElementsByTagName不起作用

时间:2010-06-05 15:41:49

标签: javascript

脚本有问题吗?或者不推荐使用getElementsbyTagName?

<script>
t=document.getElementsByTagName('input')[0];
document.write(t.value);
</script>

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Type here: <input type='text' value="my value is high">

1 个答案:

答案 0 :(得分:2)

您正在尝试在加载页面之前执行document.write()。因此,getElementsByTagName返回的数组将为空,因为在文档加载之前没有任何类型的标记可用。

从body.onload事件处理此事件,或者从其他事件触发它。事实上,为什么你会尝试获取文本输入的值,甚至可以获得除你提供的值之外的任何值(这里,'我的值很高'),在这种情况下你可以使用该文字值在你的document.write()?

我怀疑你想在一些用户交互之后获得该输入的值,在这种情况下你可以使用一个函数来处理输入的onblur事件,该函数将其他元素的innerHTML设置为event.currentTarget的值(将是你的意见)。因此,在用户键入内容并退出输入后,输入的值将出现在您想要的任何位置。