0

私は次のjQueryコードを持っています:

$('#foo').click(function ()  {
    var loading = $('<img id="loading" src="images/loader.gif" alt="loading" />');
    $('#stars').prepend(loading);
    alert('WAIT');
});

$('#bar').click(function ()  {
     $('#stars').empty();
});

最初にクリックする#fooと、画像がブラウザウィンドウに表示されます。クリック#barしてからもう一度クリックすると#foo、画像が表示されなくなります。

Chromeを使用しており、Inspect Elementツールも使用しています。コードで、2回目のクリック時にimgタグが追加されたことがわかります。しかし、ブラウザウィンドウには何も表示されていません。#stars#fooimg

なぜ何かアイデアはありますか?live()おそらく関数を使用する必要がありますが、どのように使用しますか?

4

2 に答える 2

0

それはうまくいくようです、見てください:http://jsfiddle.net/84Nj3/1/

おそらく、問題の原因となっているコードに何か別のものがあるのでしょう。

于 2011-08-04T11:46:33.917 に答える
0

これは私にとってはうまくいくようです。

ここにまとめたデモを参照してください: http://jsfiddle.net/uWfW7/1/

現在 Chrome でこれをテストすることはできませんが、FF5 では機能しています。または、毎回画像オブジェクトを再作成する代わりに、必要に応じて画像を表示/非表示にすることができます。

HTML

<div id="image"><img src="[...] alt="text"></div>

CSS

#image{display:none;}

JS

$('#foo').click(function(){$('#image').show()})
$('#bar').click(function(){$('#image').hide()})

デモはこちら: http://jsfiddle.net/t5QJg/

于 2011-08-04T11:44:49.317 に答える