2016-11-28 38 views
0
a(document).on("click.frTTS", "#fr_screenreader_play,#allmode-id126,.allmode-text,.allmode-topitem,.itemFullText,#k2Container" ,function(b) { 
    var abc = $(this).attr('id'); 
    alert($(this).attr('class')); 
    if(abc == "fr_screenreader_play") 
    {  $('<img src="http://www.test.com/arc/eng/images/speaker32.png">').remove(); 
    } else 
    { 
     $(this).append('<img src="http://www.test.com/arc/eng/images/speaker32.png">'); 
    } 
    c = true; 
    d = "play"; 
    clearTimeout(e); 
    f = w(); 
    if (!f.length) z("notext"); else { 
     t(); 
     if ("proxy_responsive" == l.readerEngine) responsiveVoice.speak(f, j, { 
      volume: l.screenReaderVolume/100, 
      onend: function() { 
       z("finished"); 
       alert("finished"); 
       $('<img src="http://www.test.com/arc/eng/images/speaker32.png">').remove(); 
      } 
     }); else q(); 
     z("playing"); 
    } 
    a("#fr_screenreader_pause").removeClass("active"); 
    b.stopPropagation(); 
    b.preventDefault(); 
}); 

我想在循環結束後刪除圖像。警報關閉後。請幫我解決這個問題。我正試圖從早上解決這個問題。這是我第一次修改Javascript。如何使用jquery刪除附加圖像

回答

0

我實在看不出哪裏是環...
而且我不知道的是,你清除setTimeout

但無論如何,你的問題是關於如何刪除基於它的URL的特定圖像。

因此,而不是:

$('<img src="http://www.test.com/arc/eng/images/speaker32.png">').remove(); 

使用此:

$('img[src="http://www.test.com/arc/eng/images/speaker32.png"]').remove(); 

還是這個最短的,這可能是有用的。
請注意*
它檢查屬性包含東西:

$('img[src*="speaker32.png"]').remove(); 

它看起來像一個非常微妙的語法變化...
但它是非常重要的。
因爲您不能像使用HTML爲jQuery選擇器定義元素那樣使用元素。
這裏,選擇器是任何img標籤具有的屬性包含特定URL src ...