2011-07-11 115 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說的。 –