jQuery img добавить не показывает - PullRequest
0 голосов
/ 04 августа 2011

У меня есть следующий код 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, и в коде видно, что тег img был добавленв #stars при повторном нажатии #foo.Но img не отображается в окне браузера.

Есть идеи, почему?Должен ли я использовать функцию live(), возможно, но как?

Ответы [ 2 ]

0 голосов
/ 04 августа 2011

вроде нормально работает, посмотрите: http://jsfiddle.net/84Nj3/1/

Возможно, в вашем коде есть что-то другое, что вызывает проблему.

0 голосов
/ 04 августа 2011

Мне кажется, что это нормально работает.

Посмотрите демонстрацию, которую я собрал здесь: 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/

...