Скажем, у меня есть:
<div>
<input type="button">
</div>
<img src="path/to/img.jpg">
И я хочу скрыть кнопку, а затем скрыть изображение, я мог бы сделать это с помощью:
$('input[type="button"]').hide().parent().next('img').hide();
Когда я хочу удалить элемент, как я могу затем перейти к изображению аналогичным образом?
$('input[type="button"]').remove().parent().next('img').hide();
Не делает трюк.
Скрипт: http://jsfiddle.net/f8xN2/
TL;DR: Можно ли продолжить перемещение DOM с текущей позиции после удаления элемента?
Вы можете сохранить изображение в локальной переменной, а затем использовать его для всего, что хотите.
var image = $(this).parent().next('img');
$(this).remove();
image.hide();
Проверьте обновленный файл jsfiddle: http://jsfiddle.net/f8xN2/3/
Вы можете получить второй элемент перед удалением первого:
var second = $('input[type="button"]').parent().next('img');
$('input[type="button"]').remove();
second.hide();
Вы можете сначала сохранить родительский: var divParent = $('input[type="button"]').parent();
а затем удалить элемент и получить доступ к изображению с помощью divParent.next('img').hide();
Вы не можете цеплять после удаления элемента
делать так
$(function(){
$('#ex1').click(function(){
$(this).hide().parent().next('img').hide();
});
$('#ex2').click(function(){
//hide image
$(this).parent().next('img').hide();
//then remove
$(this).remove()
});
})
.addBack
, но последовательность этих действий кажется неловкой.