#jquery #dom-manipulation
#jquery #dom-манипуляция
Вопрос:
Есть ли какой-либо способ удалить элемент, кроме как внутри элемента:
<div class="gallery">
<a href="images/rep.png" title="rep">
<img src="http://example.com/uploads/rep.png" class="thumbnail" alt="rep" title="rep">
</a>
</div>
Для
<div class="gallery">
<img src="http://example.com/uploads/rep.png" class="thumbnail" alt="rep" title="rep">
</div>
Я написал этот код, но не работает:
$(".gallery").contents().filter(".thumbnail").remove();
Ответ №1:
В jQuery есть unwrap()
метод, который удаляет родительский узел и оставляет соответствующий элемент на месте:
$(".gallery").contents().filter(".thumbnail").unwrap();
// or (faster)
$(".gallery .thumbnail").unwrap();
Комментарии:
1. Или
$(".gallery .thumbnail").unwrap();
Ответ №2:
$(".thumbnail").unwrap()
Ответ №3:
Может быть более простым методом, но:
$('.gallery').each( function() {
var img = $(this).find('img');
$(this).children("a").remove();
$(this).append(img);
});
Ответ №4:
попробуйте
innerhtml = $("div.gallery .thumbnail").get();
$("div.gallery").html(innerhtml);