当前位置:编程学习 > JS >>

一段简单的javascript为什么运行不出来

<script language="javascript"> d.innerText="13"; </script> <div id="d"> </div> 运行提示"d"没有定义,不知道是什么问题,请江湖朋友指教!
补充:<div id="d">
<script language="javascript">
document.getElementById("d").innerText="13";
</script>
</div>
或者
<div id="d">
<script language="javascript">
document.getElementById("d").innerText="13";
</script>
</div>都运行不出来
答案:<html>
<head>
</head>
<body>
<div id="d">
<script language="javascript">
document.getElementById('d').innerText="13";
</script>
</div>

</body>

把代码放到BODY里就好了
其他:你的d除非前边定义为对象 并且包含这个 innerText的函数这样才能用
你的d是一个id。。。这个当然不能用 如果你这个javascript在head段 载入要比body里面的文档早 你要操作dom必须把它放到window.onload里面
另外就是你的d必须用getElementById取到div元素才行
这样写 window.onload=function{ var d=document.getElementById("d"); d.innerText="13"; } 


那就用innerHTML或者textContent吧 innerText这个不是所有浏览器都有的 最好把script放div外面 这个没必要嵌套到里面去写 这里有两个知识点。
第一个知识点是。这里其实是dom操作,
所以要先根据ID取得对象,然后通过对象。属性来动态改变
所以需要用
document.getElementById("id").innerText="13";//也可以用innerHTML

第二个知识是。页面是顺序加载的,所以如果你这段代码放在
<div id="d"></div>之前的话,它是找不到加载的。
所以你可以通过两个方式。
第一种是放在id下面
<div id="d">
</div>
<script language="javascript">
document.getElementById("d").innerText="13";
</script>

还有一种是放在方法里,通过调用。
window.onload=function{ var d=document.getElementById("d"); d.innerText="13"; } 
//这个是匿名函数
也可以这样写
<script language="javascript">
function setContent(){
var d=document.getElementById("d");
 d.innerText="13"; 
}
window.onload="setContent()";
</script> 


是放在div的下面,不是里面。里面都没加载完呢。怎么能调到对象呢? 

上一个:学习PHP 需不需要学习 CSS javascript html?
下一个:javascript问题。请问以下这段代码哪里有问题。打开浏览器后就是不出现警告对话框。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,