Я пытаюсь добавить div и промежуток к изображению на клик, а затем удалять его по клику.jquery append function is not working
<div id="gallery" align="center">
<img src="http://www.frontpagejunky.com/wp-content/uploads/2011/05.jpg" class="img-view" width="150px" height="150px" />
</div>
JQuery:
$(document).ready(function(){
$('.img-view').click(function(){
var img=$(this).after('<span id="close">X Close</span>').wrap("<div id='pop-up' style='display:block'/>").clone();
$('#gallery').append(img);
});
$('#close').live("click",function(){
$('#pop-up').remove();
$('#close').remove();
});
});
</script>
Проблема, которую я имею, что продолжительность не получить завернутые в DIV, но только образ делает, а пролет добавляется только после того, как изображение завернуто. Вторая проблема - когда я нажимаю #close, div и кнопка исчезают, но когда я снова нажимаю на .img-view, они не регенерируются/не появляются. почему это происходит?
UPDATE
$(document).ready(function(){
$('.img-view').click(function(){
var img=$(this).clone();
img= img.after('<span class="close">X Close</span>');
img=img.wrap("<div class='pop-up' style='display:block'/>");
$('#gallery').append(img);
});
$('.close').live("click",function(){
$('.pop-up').remove();
$('.close').remove();
});
});
Но теперь всплывающее DIV не обернуть элемент изображения!?!
$ не требуется с IMG в $ (IMG). – vijay
Осторожно! вы несколько раз используете '# pop-up' и' # close'. Идентификаторы должны быть уникальными. Их нельзя повторить. Вы можете использовать класс вместо ids и находить ближайшие '.pop-up' и' .close' при удалении. – Imdad
Я знаю, но я хочу, чтобы изображение всплывало один раз и закрывалось ... Я не хочу, чтобы на экране отображались два элемента: –