j++; //表示第j个小旗 
obj=document.createElement("IMG"); 
obj.src="img/qi.gif"; 
obj.id="divs['+j+"]"; //id尽量不要这样命名,像"div_"+j 回好些 
obj.style.posTop=event.y; //原来的divs[j]系统会认为是数组
obj.style.posLeft=event.x; 
document.body.appendChild(obj); 

解决方案 »

  1.   

    obj.setAttribute("id","div_"+j)
    这样也行
    你的思路可以
      

  2.   

    如何?<html> 
    <body> 
    <div style="width:200px; height:200px; background-color:#cfa" id="map_div" onClick="CreateMap()">
    </div>
    <script>
    function CreateMap(){
    var ev = window.event;
    var target = ev.target || ev.srcElement;
    if(!target && target.id!="map_div") return;
    var imglen=document.images.length;
    var obj=document.createElement("DIV"); 
    obj.id="flag_"+(imglen+1); //id尽量不要这样命名,像"div_"+j 回好些 
    with(obj.style){
    width="10px"; 
    height="10px";
    position ="absolute";
    posTop=event.y; //原来的divs[j]系统会认为是数组
    posLeft=event.x; 
    }
    obj.innerHTML="<img src='img/qi.gif'>";
    document.getElementById("map_div").appendChild(obj); 
    }
    </script>
    </body> 
    </html> 
      

  3.   


    不好意思,第九行应该是
    if(!target || target.id!="map_div") return;
      

  4.   

    谢谢楼上的朋友们,尤其要谢谢zowell,谢谢你给出的详尽的代码,非常好使,但现在我不知道该怎样把地图加上去,如果把上面的div改成img:
    <img src="img/ditu.JPG" id="map_div" onClick="CreateMap()">
    运行后报错:“意外地调用了方法和属性访问”。若:
    <div style="width:200px; height:200px; background-color:#cfa" id="map_div" onClick="CreateMap()">
    <img src="img/ditu.JPG">
    </div>
    点击没反应,因为点击的是地图而不是直接点到div上。请问该怎么办?谢谢!回4楼,报错信息就是“divs[j].style为空或不是对象 ”
      

  5.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Test</title>
    <script>
    function insert(e){
    e = e || event;
    var obj = document.getElementById("qi");
    obj.style.left = e.clientX;
    obj.style.top = e.clientY;
    }
    </script>
    </head>
    <body>
    <img src="1.gif" width="680" height="230" onClick="insert(event)"><div id="qi" style="position:absolute"><img src="2.gif"></div>
    </body>
    </html>把图换成你需要的吧
      

  6.   

    <div style="width:200px; height:200px; background-image:url(img/ditu.JPG)" id="map_div" onClick="CreateMap()"> </div>