oEle = document.getElementsByName('oImg');
var Img_sum=oEle.length;
for(var i=0;i<Img_sum;i++){
var idObject = document.getElementById('img_Id');   
if (idObject != null)   
    idObject.parentNode.removeChild(idObject);
}    再ff中正常,但在ie中没反应,望高手指教!

解决方案 »

  1.   

    ie中有空白节点,parentNode可能是空白节点。
      

  2.   

    看你的html部分,这些代码无法反映问题
      

  3.   

    set:function () {

            var obj = [];
    var img_uhr="http://luo:8080/websis/style/default/img/modules/pin/clock.png";
    var img_krankhaus="http://luo:8080/websis/style/default/img/modules/pin/krankenhaus.png";
    var points= [
    {p:img_uhr,x:3509103.178,y:5425187.344},
    {p:img_uhr,x:3509123.178,y:5425187.344},
    {p:img_krankhaus,x:3509143.178,y:5425187.344},
    {p:img_uhr,x:3509163.178,y:5425187.344},
    {p:img_uhr,x:3509183.178,y:5425187.344},
    ];
    var xp =new Array();
    var yp =new Array();
      
    var width = $('#map_div').width();
    var height = $('#map_div').height();

    var widthHalf = width / 2;
    var heightHalf = height / 2;

    var lux = ws.map.center.x - widthHalf * ws.map.scale;
    var luy = ws.map.center.y + heightHalf * ws.map.scale;

    for (var i = 0; i<points.length; i++){
    var wapper = document.createElement("div");
                                    wapper.id="wapper_Id";
    document.getElementById("wrapper").style.zIndex=0;    
    var img = document.createElement("img");
    document.body.appendChild(img);
    img.setAttribute("id","img_Id");
    img.setAttribute("name","oImg");
    img.src =points[i].p;
    img_width=img.width;
    img_height=img.height;
    // Pixel diff from left upper
    xp[i] = (points[i].x  - lux) / ws.map.scale;
    yp[i] = (luy - points[i].y) / ws.map.scale;
    img.style.position = "absolute";
    img.style.left =xp[i]-img_width/2+ "px";
    img.style.top = yp[i]-img_height/2 + "px";
    wapper.appendChild(img);
    document.body.appendChild(wapper);
    obj[i] =img;
    //img.style.visibility = "hidden"; 
    }
    return obj;
            },

    clear:function (){

    oEle = document.getElementsByName('oImg');
    var Img_sum=oEle.length;
    for(var i=0;i<Img_sum;i++){
    var idObject = document.getElementById('img_Id');   
    if (idObject != null)   
        //idObject.parentNode.removeChild(idObject);
        idObject.removeChild(idObject);
    }   
    }
    我实现2个功能,先动态产生图片,然后把图片消除,这周就交上去,刚开始只在ff中,可以,没想到今天在ie中不行,急死我了,帮帮我,我的第一个活。
      

  4.   

    (name=oImg,id=oImg)把着2个都写上,IE中是按ID,FF按NAME!!就是这么回事给分!
      

  5.   

    getElementsByName改成getElementById或者getElementsByTagName
      

  6.   

    var idObject = document.getElementById('img_Id');  
    if (idObject != null)  
        //idObject.parentNode.removeChild(idObject); 
        idObject.removeChild(idObject); 我如何能够得到id为'img_Id'的img个数
      

  7.   

    看他一楼给的代码, 估计oImg为一个容器,如div之类的, 这类对象本身是没有NAME值的,不符合w3c标准, 所以在IE下不行, 这很正常,不知为何这次反而ff下可以
      

  8.   

    oEle = document.getElementByTagName('wapper'); 
    oImg为图片,wapper为容器,我用上面那句话为什么不行,错误提示document.getElementByTagName is not a function我只想知道图片的个数
      

  9.   

    img.src =points[i].p; 
    在ie浏览器中,p为0, 为什么