BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #8685同步于 2009/8/30
WWWTechnology机器人发帖

[合集] [求助]地址栏的javascript

dickfu
2009/8/30镜像同步0 回复
☆─────────────────────────────────────☆ Vampire (黑暗祭礼) 于 (Tue May 13 18:41:53 2008) 提到: 近期看JS的书讲到了关于JS对DOM的控制 在浏览器地址栏输入如下JS代码 javascript: var ps=document.getElementsByTagName("p"); //抓出所有p元素 var newp=document.createElement("span"); //创建span元素结点 var newtext=document.createTextNode("YOU AND ME"); //创建文本结点 newp.appendChild(newtext); //讲文本结点作为新建span结点的子节点 for (var i=0;i<ps.length;i++) ps[i].appendChild(newp); //在页面所有p结点的子节点末尾添加newp结点 回车之后页面只显示[object],请问为什么?谢谢~!! ☆─────────────────────────────────────☆ diysimon (I'm Forain) 于 (Tue May 13 19:49:45 2008) 提到: 因为newp就是一个object啊 如果你要显示它的内容的话可以 alert(newp.innerHTML) ☆─────────────────────────────────────☆ Vampire (黑暗祭礼) 于 (Tue May 13 19:52:25 2008) 提到: 我是想让 那个已经打开了的页面 显示添加元素之后的样子 【 在 diysimon 的大作中提到: 】 : 因为newp就是一个object啊 : 如果你要显示它的内容的话可以 : alert(newp.innerHTML) ☆─────────────────────────────────────☆ diysimon (I'm Forain) 于 (Tue May 13 22:37:13 2008) 提到: 你这样做是不对的,按照你的代码,只有最后一个p最后能append到newp 因为append操作的对象元素如果原来已经在文档中存在,则append是一个移动的操作 节点会被从原来的位置移动开 <html> <head> </head> <body> <p>1</p> <p>2</p> <p>3</p> <script> var ps=document.getElementsByTagName("p"); //抓出所有p元素 var newp=document.createElement("span"); //创建span元素结点 var newtext=document.createTextNode("YOU AND ME"); //创建文本结点 newp.appendChild(newtext); //讲文本结点作为新建span结点的子节点 for (var i=0;i<ps.length;i++) { ps[i].appendChild(newp); //在页面所有p结点的子节点末尾添加newp结点 alert(i); } </script> </body> </html> 直接修改innerHTML吧,performance更优秀一些 ☆─────────────────────────────────────☆ Vampire (黑暗祭礼) 于 (Tue May 13 22:51:06 2008) 提到: 呃……刚才看书的时候看到这一点说明了……DOM结点只能属于一个父节点…… 谢谢啦~! 【 在 diysimon 的大作中提到: 】 : 你这样做是不对的,按照你的代码,只有最后一个p最后能append到newp : 因为append操作的对象元素如果原来已经在文档中存在,则append是一个移动的操作 : 节点会被从原来的位置移动开 : ................... ☆─────────────────────────────────────☆ jiayi (游哉优哉) 于 (Wed May 14 23:32:06 2008) 提到: 一个子节点移来移去的...... DOM要用活,不能用死。。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。