document.getElementById获取不到值的原因及解决办法

  • 内容
  • 评论
  • 相关

document.getElementById获取不到值的原因及解决办法

在html中如下一段源代码:

<body>

<script type="text/javascript">
document.getElementById("getText").value="你好";

</script>

<span id="getText">hello</span>

</body>

 

DW(Dreamweaver)测试无任何错误提示,但<span>标签中的内容没有改变

01

在EditPlus中测试直接出现如下图所示的错误

02

点击是只有一个hello 出现的结果在DW中一样,只是这里报错

03

说明问题出现在getElementById()后调取的参数或者函数出了问题。在这里可以看出是想获取id为“getText”的<span>标签并将“你好”写入替换掉原先的“hello”,后在DW中根据代码提
示发现紧随getElementById()其后的有value,innerHTML两种可用于获取内容的参数,如图四

经测试发现 value无效,innerHTML可以实现上述功能,到这里问题解决了。

(对于document.getElementById("getText").text在用法上就出现了问题,在网上也没有查到所以然,本人菜鸟,希望有懂的网友帮分析一下,十分感谢)

05

原因:

DW可能在对于代码判断方面不如像Eclipse那样的智能,在书写的时候往往会一股脑儿的把与之相关的都罗列出来。这就需要自己平时整理总结才能避免出现这样基础性的错
误。

04

为什么会有以上的错误?

通过上网查了下简单来说就是表单用value,插入字符用innerHTML

<span>标签中的内容为插入内容,类似于<p> <div> <label>等标签,同样getElementById其后用innerHTML才能获取值,而对于<input>标签内容则通过value获取。

附:
getElementById 方法
返回具有指定 ID 属性值的第一个对象的一个引用。
语法
oElement = document.getElementById(sIDValue)
参数
sIDValue 必选项。指明 ID 属性值的字符串
返回值
返回 ID 属性值与指定值相同的第一个对象。
注释
如果 ID 属于一个集合,getElementById 方法返回集合中的第一个对象。
getElementById 方法与使用 all 集合上的 item 方法等同。例如,以下代码样本表示如何从 document 对象中取回 ID 为 oDiv 的第一个要素。
使用 DHTML 对象模型:
var oVDiv = document.body.all.item("oDiv");
使用文档对象模型(DOM):
var oVDiv = document.getElementById("oDiv");

基础很重要,在这里整理出来以后应当注意。