js用document.getElementById时要注意!
<!DOCTYPE html> <html lang="en"> <head> <script src="http://code.jquery.com/jquery-1.11.3.js"></script> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // jQuery(document).ready(function($) { // $('li:first').append('<p>新的节点</p>'); // }); window.onload=function(){ var rightdiv = document.getElementById('nav'); //这里用id获取不到的原因是,要先执行到下面的li时,才能获取到,而document.createElement是不需要网页的执行就可以直接继续下去的,从而不会包appendChild属性值为空的情况 var rightaaron = document.createElement("p"); rightaaron.innerHTML = "动态创建DIV元素节点"; //2个div合并成包含关系 rightdiv.appendChild(rightaaron) //绘制到页面body document.body.appendChild(rightdiv) }; </script> <ul > <li id='nav'> <p href="">旧的节点</p> </li> <li> <p href="">旧的节点</p> </li> </ul> </body> </html>
因为var rightdiv = document.getElementById('nav');这句话必须要等到
<ul >
<li id='nav'>
<p href="">旧的节点</p>
</li>
<li>
<p href="">旧的节点</p>
</li>
</ul>这段代码执行到时才能够获取到id,所以需要加个winodw.onload来获取
网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况
直接用document.createElement()是不需要等加载的就可以直接执行。