2011-07-11 81 views
1

在我的网站上,我尝试使用(“#report-type”)追加我的图像。append($ img)其中img是一个包含src网站的jquery对象,基于改变img的src的下拉菜单选择。我知道它确实附加在正确的位置,img标签格式正确,并且如果我只是将img标签硬编码到HTML中,图像就会显示出来。jquery img标签在添加后被删除使用append

然而,页面运行会发生什么,并且我在firebug中看到img被追加了一秒钟,然后消失。有谁知道为什么会发生这种情况?

这里是我的下拉更改处理功能:

$(".update-report").click(function() { 
     var src, image, $img2, val; 

     //Clear old charts 
     //$("#report-type option").children().remove(); 

     //alert(typeof $("select option:selected").val()); 

     val = $("select option:selected").val(); 
     switch (val[0]) { 
      case "0": 
       src = "https://graphite.admarketplace.net:2222/render/?from=-7days&width=1400&height=420&_salt=1309990757.707&target=alias(movingAverage(divideSeries(sumSeries(*.server.xml.*.revenue)%2CsumSeries(*.server.xml.*.clicks)),200),%22CPC%22)&fgcolor=black&bgcolor=white&title=Average%20CPC%20per%20minute%20-%207%20Days&hideLegend=true"; 

       $("#chart1").attr('src',src); 
       break; 

      case "1": 
       alert("here1"); 
       src = "http://graphite.admarketplace.net:2222/render/?from=-30days&width=1400&height=420&_salt=1309990757.707&target=alias(movingAverage(divideSeries(sumSeries(*.server.xml.*.revenue)%2CsumSeries(*.server.xml.*.clicks)),200),%22CPC%22)&fgcolor=black&bgcolor=white&title=Average%20CPC%20per%20minute%20-%2030%20Days&hideLegend=true"; 
       $img = createImg(src); 
       alert(typeof $img); 
       $("#report-type").append($img); 
       break; 

      case "2": 
       alert("here2"); 
       src = "http://graphite.admarketplace.net:2222/render/?from=-1hour&width=1000&height=400&_salt=1309980469.069&target=alias(e.network.lb.xml.AverageRespTime,%22East%22)&target=alias(w.network.lb.xml.AverageRespTime,%22West%22)&yMax=500&fgcolor=black&bgcolor=white&title=Average%20Response%20Time%20in%20milliseconds%20Current%20Hour"; 
       $img = createImg(src); 
       src = "http://graphite.admarketplace.net:2222/render/?from=-25hour&until=-24hour&width=1000&height=400&_salt=1309980469.069&target=alias(e.network.lb.xml.AverageRespTime,%22East%22)&target=alias(w.network.lb.xml.AverageRespTime,%22West%22)&yMax=500&fgcolor=black&bgcolor=white&title=Average%20Response%20Time%20in%20milliseconds%20Current%20Hour%20Yesterday"; 
       $img2 = createImg(src); 

       $(".grid 16").append($img); 
       $(".grid 16").append($img2); 
       break; 

      case "3": 
       alert("here3"); 
       src = "http://graphite.admarketplace.net:2222/render/?from=-1day&width=1000&height=400&_salt=1309980469.069&target=alias(movingAverage(e.network.lb.xml.AverageRespTime,20),%22East%22)&target=alias(movingAverage(w.network.lb.xml.AverageRespTime,20),%22West%22)&yMax=500&fgcolor=black&bgcolor=white&title=Average%20Response%20Time%20in%20milliseconds%20Current%2024%20Hours"; 
       $img = createImg(src); 
       src = "http://graphite.admarketplace.net:2222/render/?from=-2day&until=-1day&width=1000&height=400&_salt=1309980469.069&target=alias(movingAverage(e.network.lb.xml.AverageRespTime,20),%22East%22)&target=alias(movingAverage(w.network.lb.xml.AverageRespTime,20),%22West%22)&yMax=500&fgcolor=black&bgcolor=white&title=Average%20Response%20Time%20in%20milliseconds%20Yesterday"; 
       $img2 = createImg(src); 

       $(".grid 16").append($img); 
       $(".grid 16").append($img2); 
       break; 
       default: 
        alert("in the default"); 
     } 
    }); 

只是要注意的情况下0这里,是因为我一直打打闹闹试图得到这个工作。即使我将img标签硬编码到HTML中,并且只尝试更改src,这也不起作用。但是,当我尝试追加整个图像时,这也不起作用。

+1

我想我们可能需要看到更多的代码。我们可以看到$ img被初始化了吗?你可以编辑你的问题,并包括这是发生在整个事件处理程序? 是否可以在其他浏览器中重现? – Patricia

+0

我认为你的图片标签格式不正确。这就是浏览器不呈现它的原因。 – switz

+0

如果我在萤火虫,我实际上可以设置一个断点添加img,它会留在那里。所以它与格式化没有任何关系。也许有另一个脚本正在自动更改这个?如果是这种情况,我怎么能嗅出它可能甚至可能是后端 – Evan

回答

1

我怀疑你有某种adblocker以来的SRC是广告市场位置从而消除图像...

我们曾经花了一个晚上,在一个类似的问题与“banner.jpg”形象:)

+1

+1,因为感觉疼痛.. :)到@Evan,如果发生在http://jsfiddle.net/ gaby/UcQ4G /(*其中的作品*),那肯定是Andy说的。 –