<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript">
  function create(){
   for(var i=0;i<10;i++){
      var div=document.getElementById("treelist");//获取div
      var objImg1 = document.createElement("IMG") //动态创建图片
      objImg1.src="check0.gif";//设置图片路径
      objImg1.name="type";
      objImg1.onclick = function () { checks(this,'0'); }
      div.appendChild(objImg1);
   }
  }
  
  function checks(obj,xh){
     var   objs=document.getElementsByName(obj.name);
 //alert(objs.name);
     alert(objs.length); 
  }
</script>
<body onLoad="create();"> <div id="treelist"></div>
</body>
</html>
为什么动态生成的内容,我想得到name相同的有多少个,却得不到。但如果直接写在页面就能得到。
问:怎么才能得到动态生成的名称相同的内容有多少个??急急啊

解决方案 »

  1.   

    function checks(obj,xh){
         var   objs=document.getElementsByName(obj.name);
     //alert(objs.name);
         alert(objs.length); 
      }
    ======>
    function checks(obj,xh){
         var objs=document.getElementsByName(obj.name);
         alert(document.body.outerHTML);//body里的内容
     //alert(obj.name);
         alert(objs.length); 
      }
    你先看看body里有些什么内容,容易发现img控件中并没有体现name属性
    所以用document.getElementsByName("type").length为零
    你可以这样找:var objs=document.getElementsByTagName(obj.tagName);