<script type="text/javascript">
window.onload = function(){
var newelement = document.createElement("Button");
var textele = document.createTextNode("点击改变样式");
newelement.appendChild(textele);
newelement.onclick = test;
var ule = document.getElementById("ulelement");
ule.parentNode.appendChild(newelement);
}
</script>
如上代码是我用js创建一个按钮并插入到原来的html中,这样是成功的,但是当把onload事件去掉之后也就是
<script type="text/javascript">
var newelement = document.createElement("Button");
var textele = document.createTextNode("点击改变样式");
newelement.appendChild(textele);
newelement.onclick = test;
var ule = document.getElementById("ulelement");
ule.parentNode.appendChild(newelement);
</script>
这样就不行了,请问为什么?非常感谢~
window.onload = function(){
var newelement = document.createElement("Button");
var textele = document.createTextNode("点击改变样式");
newelement.appendChild(textele);
newelement.onclick = test;
var ule = document.getElementById("ulelement");
ule.parentNode.appendChild(newelement);
}
</script>
如上代码是我用js创建一个按钮并插入到原来的html中,这样是成功的,但是当把onload事件去掉之后也就是
<script type="text/javascript">
var newelement = document.createElement("Button");
var textele = document.createTextNode("点击改变样式");
newelement.appendChild(textele);
newelement.onclick = test;
var ule = document.getElementById("ulelement");
ule.parentNode.appendChild(newelement);
</script>
这样就不行了,请问为什么?非常感谢~
...
</script
</body>这样的位置就可以了。因为,如果没有利用window.onload 事件,var ule = document.getElementById("ulelement");
这个ule对象在dom中不存在,对一个null对象执行ule.parentNode方法肯定就报错了
也是可以执行的
但是LZ要注意你脚本代码的位置
页面加载编译的顺序是从上到下的
你在上面写的话那编译到你的脚本代码时
会由于下面的内容没有被加载而获取不到对象
你把这些脚本代码放在下面那结果就会不一样了
LZ可以试试
可以不用函数,会顺序执行,但是你得保证执行的过程中所需要用到的对象在dom中已经存在,上面有兄弟提到过,所以要么在onload之后执行,要么放到代码最下面