2012-12-05 9 views
17

可能性の重複:
Setting image src attribute not working in Chromeイメージsrcを空に設定するにはどうすればよいですか?

ユーザーは私が空に画像のsrc属性を設定する必要がリンクを "削除" をクリックします。私は

$('#img').prop('src', null); 

srcを使用して、それを行うと、空ではないですが、私は将来

に戻ってそれを割り当てるために聞かせて決して現在のURL

へのポイントは、私が

$('#img').removeProp('src'); 

を使用してsrcを削除する場合

これを達成する最も良い方法は何ですか?

+1

[この回答](http://stackoverflow.com/a/8425853/561731)を参照してください – Neal

+0

srcを "削除"していません。 '#'と同じですが、現在のURLとハッシュを使用します。実際の例:http://lcamt​​uf.coredump.cx/squirrel/あなたは現在のURLにリクエストを送ることになります。別のアプローチを使用することをお勧めします。 –

答えて

8

attr()を使用してみてください、あなたはIDセレクタを持っていたよう

Live Demo

$('#img').attr('src', ''); 

。ネイティブのjavascriptメソッドdocument.getElementByIdを使用すると、パフォーマンスがさらに向上します。また、empty文字列の代わりに#srcと設定する必要があります。

document.getElementById('img').src = "#"; 
+4

これはうまくいきません。まだ空の値を持つ代わりに現在のURLを指しています。 – StackOverflower

+0

私の答えにライブデモを追加しました。動作していることを確認してください。 – Adil

+0

@Adil [これは実画像では動作しません](http://jsfiddle.net/Vnj53/1/) – Neal

6

私はちょうど下層<img>ノードにアクセスし、空の文字列srcの値を設定すると思います。

$('#img')[ 0 ].src = '#'; 

フィドル:http://jsfiddle.net/P4pRu/


アップデート:私たちはちょうど空の文字列に渡すときクロームが満たされていないのように思えます。 Firefoxはまだ期待された動作を示しています(これはChromeで数週間前/バージョン前に動作していたと確信しています)。

ただし、たとえば#を超えると正常に動作します。


アップデート2:

でもimgNode.removeAttribute('src');もはや(...興味深い)Chromeでもう画像の視覚的な表現を削除しませんありません。

+1

これはうまくいきません。まだ空の値を持つ代わりに現在のURLを指しています。 – StackOverflower

+1

@ TimmyO'Tool:確かに。私にとっては、 "新しい"ような奇妙な行動。しかし、 '#'を渡すとうまくいきます。 – jAndy

+2

空の文字列は実際にはイメージの有効なsrcになります。技術的にはsrcを「削除」していません。 '#'と同じですが、現在のURLとハッシュを使用します。実際の例:http://lcamt​​uf.coredump.cx/squirrel/あなたは現在のURLにリクエストを送ることになります。 –

0

属性 'src'は実際にはプロパティではなく、属性です。プロパティは、ブーリアンやリストと属性で設定できるものを、より動的なものとして考えることができます。 jQueryの1.6のよう

$('#img').attr('src', ''); 

、.prop()メソッドが、明示的プロパティ値を取得する方法を提供します。ATTR()属性取得 - 空の文字列が実際に技術的にそれを言えば、画像のための有効なSRCすることができhttp://api.jquery.com/prop/

+0

あなたの答えをテストしても、それはうまくいかない(ノートは正しいが)。 –

+0

はい、あります。ちょうどjsfiddleでテストされています - http://jsfiddle.net/aAfvx/1/ –

+0

Chromeの問題のように見えますが、Chromeで試してみてください。 –

関連する問題