document.createElement('img')的问题 本帖最后由 spcmusic 于 2010-06-25 16:36:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function show(){ var ob = document.getElementById('ob'); for(i=0;i<10;i++) { div = document.createElement('div'); var a1 = document.createElement('img'); a1.src = "a1.gif"; var b1 = document.createElement('img'); b1.src = "b1.gif"; div.appendChild(a1); div.appendChild(b1); ob.appendChild(div); }} div.appendChild(a1);这代码,要么是把a1移到当前的div里,要不就是不执行。 appendChild(node)有两个意思一个是当页面上不存在节点(node)时,增加一个节点第二个是当页面上已经存在节点(node)时,对节点的移动你的代码a1,b1的引用没变,只是做了循环。所以每次增加都是在对原有节点的移动。所以永远只有一个。只是移动到了最后创建的div里而已 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>addImg.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> window.onload = function(){ show();};function show(){ /*var a1 = document.createElement('img'); a1.src = "a1.gif"; var b1 = document.createElement('img'); b1.src = "b1.gif";*/ var ob = document.getElementById('ob'); for(i=0;i<10;i++) { div = document.createElement('div'); var a1 = document.createElement('img');//这里的对象要循环创建,你上面的只创建了一个,不管怎么循环添加的还是一个对象。 a1.src = "a1.gif"; var b1 = document.createElement('img'); b1.src = "b1.gif"; div.appendChild(a1); div.appendChild(b1); ob.appendChild(div); }} </script> </head> <body> <p id="ob"></p> </body></html> UI框架,找的你好辛苦,你在哪? 求一段定义事件代码。 js 调用php变量 JavaScript提交表单时提示“不支持此属性或方法” 怎样知道前一个获得焦点的对象是什么? 学习正则式的时间基本也是郁闷的时间,请师傅们来详细解释'm'这个flag的作用,’g‘的作用,想知道的帮顶啊! 父窗口(框架)弹出子窗口(框架),子窗口如何向父子窗口传值 如何在网页中获取鼠标滚轮的值 求教:浏览器与对话框间的自定义对象传递 ★★★我想在表单中用一个下拉来控制两个文本框能不能使用★★★ 一个关于弹出层的问题,急急急急急!! 怎么让它等于文本节点?
{
var ob = document.getElementById('ob'); for(i=0;i<10;i++)
{
div = document.createElement('div');
var a1 = document.createElement('img');
a1.src = "a1.gif";
var b1 = document.createElement('img');
b1.src = "b1.gif"; div.appendChild(a1);
div.appendChild(b1); ob.appendChild(div);
}
}
一个是当页面上不存在节点(node)时,增加一个节点
第二个是当页面上已经存在节点(node)时,对节点的移动你的代码a1,b1的引用没变,只是做了循环。所以每次增加都是在对原有节点的移动。所以永远只有一个。只是移动到了最后创建的div里而已
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>addImg.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function()
{
show();
};function show()
{
/*var a1 = document.createElement('img');
a1.src = "a1.gif";
var b1 = document.createElement('img');
b1.src = "b1.gif";*/ var ob = document.getElementById('ob'); for(i=0;i<10;i++)
{
div = document.createElement('div');
var a1 = document.createElement('img');//这里的对象要循环创建,你上面的只创建了一个,不管怎么循环添加的还是一个对象。
a1.src = "a1.gif";
var b1 = document.createElement('img');
b1.src = "b1.gif";
div.appendChild(a1);
div.appendChild(b1); ob.appendChild(div);
}
}
</script> </head>
<body>
<p id="ob"></p>
</body>
</html>