2012-02-09 1 views
0

Как удалить теги p за пределами этого div (я делаю не хочу удалить тестовый div).jQuery удалить теги ни на одну сторону от div

<p> 
    <div class='test'> 
    content here 
    <img /> 
    </div> 
</p> 

В результате я хотел бы ...

<div class='test'> 
    content here 
    <img /> 
</div> 

Я знаю, что есть аналогичный вопрос здесь: jQuery: How do I remove surrounding div tags?, но не получил его на работу в моей ситуации

Я ve try

$('p .test').replaceWith($('.test)); 

Но, конечно, это просто выбирает салон-слайд-шоу div, а не p перед ним.

+0

Возможный дубликат [Удалить родительское Div, но не то, что находится внутри родителя] (http://stackoverflow.com/questions/5201834/remove-the-parent-div-but-not-whats-inside-the- родитель) –

+0

КПП. наличие 'div' внутри' p' является недопустимым. –

ответ

0

Это будет делать это, но помните, что он затронет все дивизии с class="test"

$("div.test").unwrap(); 
+0

Огромное спасибо, если это помогает всем, кому я также должен был убедиться, что он был запущен в $ (документе) .ready. – SparrwHawk

+0

Да, вы можете использовать структуру '$ (document) .ready (function() {...})' или даже более простое '$ (function() {...})'. –

0

Попробуйте следующее:

$('.salon-slideshow').each(function() { 
    $(this).parent().replaceWith($(this)); 
}); 
-1

Попробуйте это:

$('.test').each(function() { 
    $(this).insertAfter($(this).parent()); 
    $(this).prev().remove(); 
}); 
+0

-1: потому что .unwrap() - намного лучший и общий способ сделать это. –

+0

Никогда не использовался развернуть() раньше. Спасибо за информацию. Тем не менее мой ответ не является неправильным, просто чтобы его не лучший ответ .. :) – techfoobar

Смежные вопросы