日期:2014-05-16  浏览次数:20367 次

邪门问题,搞了一个晚上了.
在页面中竟然得不到div的InnerHtml
<div   id= "abc "> <div>
方法用完了:
  1.   abc.InnerHtml
  2.   document.getElementById( "abc ")
  3.   document.getElementByName( "abc ")   增加一个name= "abc "后.
  4.   form1.abc.InnerHtml
  5.   document.all   等等.

更奇怪的是,以上方法根本 "点 "不出来那个InnerHtml,比如
abc.
document.getElementById( "abc ").
这个点后面根本就没有InnertHtml选项(开发环境中提示)
现在害怕在页面中使用JavaScript了,不知道怎样调用页面对象为好.比如
有时,直接abc.InnerHtml好用.有时form1.abc.InnerHtml好用.
难道没有一个规范吗????

------解决方案--------------------
document.getElementById( "divId ").innerHTML

innerHTML的大小写注意

document.getElementsByName( "abc ") byname中是Elements,比byid多个s

另 js现在绝大部分编辑器都没有自动提示功能
------解决方案--------------------
同意楼上意见。还有
document.getElementByName( "abc ")
此处应为
document.getElementsByName( "abc ")
但这个用法主要针对表单中的控件。
------解决方案--------------------
同二楼
------解决方案--------------------
同意二楼~
------解决方案--------------------
严重同意二楼
------解决方案--------------------
innerHTML

i字小写,innerText
------解决方案--------------------
一个字母一个通宵,唉~ 程序员呐!
------解决方案--------------------
mingxuan3000(铭轩) ( )
==========================
这位是不睡觉的吗?

------解决方案--------------------
同意二楼,因为也同意一楼.
------解决方案--------------------
睡晚起早
------解决方案--------------------
LZ说的情况是有可能的,而不是LS几位说的那样......
1.html:
<div id=a> </div>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
var a =document.getElementById( 'a ').innerHTML;
alert(a); //提示没有对象,很正常的情况.....
//-->
2.html:
<html>
<head>
</head>
<body>
<div id=a> </div>
</body>
</html>
<SCRIPT LANGUAGE= "JavaScript ">
<!--
var a =document.getElementById( 'a ').innerHTML;
alert(a); //弹出空
//-->
</SCRIPT>
完整的HTML下来的话就不会提示错误
------解决方案--------------------
第一种情况在div里有内容的时候就不会提示错误了

至于为什么会出现这种错误,我想可能是innerHTML需要调用HTML解析器的缘故吧
------解决方案--------------------
DOM方法是用getElementById 通过元素ID获得元素
还有getElementByTagName 通过元素标签名获得元素
getElementByName 通过元素NAME获得元素,注意这个方法是针对FORM标签里面的元素

------解决方案--------------------
两个问题,看看是不是没注意到:

1.大小写问题,像楼上说的,是innerHTML..不是InnerHTML
2.你的Javascript代码,写在什么地方.


<body>
<script>
alert(document.all.a.innerHTML);
</script>
<div id= "a "> OK </div>
</body>
这样,就错啦,因为,DIV还没有载入,你就已经在访问他了。建议改用函数调用。在BODY ONLOAD里:
<body onload= "test() ">