2012-06-02 2 views
31

<img>要素から読み込まれたイメージを削除しようとしていますが、srcを消去または削除してもそれは行いません。何をすべきか?jQueryでIMGをクリア

HTML:

<img src='https://www.google.com/images/srpr/logo3w.png'> 

のjQuery:

$('img').attr('src', ''); // Clear the src 
$('img').removeAttr('src');​ // Remove the src 

イメージが残っている...

フィドル:http://jsfiddle.net/6x9NZ/

+0

imgを消去するとどういう意味ですか? img要素をDOMから削除したいですか? – dievardump

+0

img要素からロードされた画像をクリアしない – Yarin

+0

それはすべての兄弟に残るわけではありません。 DOMからimg要素を削除せずにsrc属性をクリアするだけで何ができるのかの例を挙げることができますか? – dievardump

答えて

24

あなたはEITしなければなりません彼女のremove<img>要素を完全に置き換えるか、別の画像(透明なgifにすることができます)で置き換えます。

$('img').hide(); 

あなたがタグから画像を削除することはできません。単に要素を隠しについて何

+0

ありがとう – Yarin

+54

srcを1x1ピクセルに変更することもできます: '$( 'img')。attr( 'src'、data:image/gif; base64、R0lGODlhAQABAIAAAAAAAP /// ywAAAAAAQABAAACAUwAOw == ') ; ' – Mottie

+0

すごいモーティー! – Costa

4

。 jQueryを使うときは、タグを扱わないことに注意してください。あなたはDOM要素を扱います。したがって、jqueryのタグは、タグではなく、オブジェクトであり、DOM要素です。これはタグではなく、DOMの画像を表す要素です。したがって、イメージを非表示にする場合は、その要素を非表示にする必要があります。

+0

マイケル - 私は 'タグ'ではなく、 '要素'を意味しました - 私の質問を編集しました – Yarin

+0

大丈夫、 –

+0

あなたも要素を隠すことさえできます!あなたのimgタグにidとidをつけて、 '$( '#myImageID')。hide()'を実行してください。 – Amar

1

最も良い方法は、画像を別の画像に置き換えることです。私はsrcを掃除する代わりに.attr( 'src'、 'notting')のような偽の値を設定します。 それはイメージと古いイメージのキャッシュされたバージョンをロードしないよ

+0

で 'show()'を使用して問題を解決しましたが、より良い解決策が必要です。 – Burak

+1

これは404エラーを引き起こすので、非常に悪い解決策です! – patrick

+1

pageloadの後で404を取得することは重要ですか?既存の空のイメージを置き換えることができます。 –

1

を消えてしまいます

$("img").remove() 

または単にこれは私のために働いた

$("img").hide() 
8

を使用して画像を非表示を使用してノードを削除します。

var $image = $('.my-image-selector'); 
$image.removeAttr('src').replaceWith($image.clone()); 

ただし、添付した可能性のあるイベントハンドラ 画像。そこjQueryのクローンためwithDataAndEventsdeepWithDataAndEventsオプションが常にありますが、私はそれらを使用してコードをテストしていない:http://api.jquery.com/clone/#clone-withDataAndEvents

また、あなたが複数の画像のためにこれをしたい場合、あなたはおそらくする必要がありますjQueryをそれぞれのように使用してください。私は同様の質問に同じ答え掲載

Setting image src attribute not working in Chrome

0

これは、あなたがこれを行うことができ、ブランク

field = jQuery(this).closest('td').find('.custom_repeatable li:last').clone(true); field.find('.custom_preview_image').removeAttr('src').end(); 
4

に「custom_preview_image」のdiv内の画像属性srcをme.Replacingために働きました。最初に画像IDを割り当てます

<img id='image_id' src='https://www.google.com/images/srpr/logo3w.png'> 

ソース属性を削除します。

0

要素がスペースを占有しているが見えないようにするには、CSSで非表示にします。好きなあなたのイメージにクラスやIDを付けて、それを隠す:

<img id='hide' src='https://www.google.com/images/srpr/logo3w.png'> 

$('#hide').css('visibility', 'hidden'); 
0

を代わりに"#"から"src"を設定しながら、壊れた画像を示すあなたが設定することができますので、回避策は、ありalt必要なテキストに属性:

$('#thumbnialPreviewImage').attr('src', '#'); 
$('#thumbnialPreviewImage').attr('alt', 'Please Select Image'); 
関連する問題