2016-11-28 22 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(); 

それはかなり微妙な構文の変更のように見える...
しかし、それは重要です:属性何かが含まれている場合
それはチェックします。
要素をjQueryセレクタのHTMLで定義するときだけ使用することはできないためです。
ここでは、セレクタは...

を特定URLを含む属性srcを持つ任意のimgタグです;)

関連する問題