удалить только родительский элемент, а не его потомки в jquery

0

Я хочу получить внутренний html одного раздела, и я хочу remove particular elements из этого html, посмотрите на следующий html

<div id='mainDiv'>
  <p>dont remove me</p>
  <span id='removeSpan'>Remove Me</span>
  <div id='removeDiv'>
    <p>don't remove me</p>
  </div>
  <p>dont remove me</p>
</div>

из выше html я хочу получить innerHTML mainDiv хочу удалить removeSpan и removeDiv и я dnt хочу удалить removeSpan removeDiv remove div что я делаю до сих пор..

var fullHtml = $('mainDiv').html();
var filterHtml= fullHtml .replace('<span id='removeSpan'>Remove Me</span>','');  

this working for this element bcoz я dont want childs of this element
но как ican удаляет только removeDiv [только это открытие и закрытие тегов, а не дочерние]
конечный результат должен быть следующим

 <p>dont remove me</p>
 <p>dont remove me</p>
 <p>dont remove me</p>

спасибо за немедленные ответы..
bt здесь i dont want to change my application screen[html]. Я просто хочу собрать этот innerHtml (конечно, после удаления, как я сказал), в переменную как строку. могу я сделать это.. извините за беспокойство!

  • 2
    разверните возможно api.jquery.com/unwrap
  • 0
    Итак, вы хотите удалить все теги в mainDiv кроме тегов p ?
Показать ещё 2 комментария
Теги:

2 ответа

1
Лучший ответ

Основываясь на том, что вы написали... комбинация.unwrap() и.remove() будет делать трюк.

<script type="text/javascript">
// <![CDATA[
(function($){
    $(document).ready(function(){
        $('TRIGGER').on('click', function(){
            $('#removeDiv p').unwrap();
            $('#removeSpan').remove();
        });
    });
})(jQuery);
// ]]>
</script>

.unwrap() удалит родительский элемент из элемента, в то время как.remove() удаляет этот конкретный элемент.

  • 0
    проверить отредактированный вопрос
3
$('#mainDiv').parent().append($('#mainDiv p')).end().remove();

FIDDLE

или

$('#mainDiv p').unwrap().siblings('#removeSpan').remove();

FIDDLE

Он также хранит данные и события, а также может быть записан

$('#removeSpan').remove();
$('#mainDiv p').unwrap();

РЕДАКТИРОВАТЬ:

Если вы просто хотите, чтобы HTML-теги P в переменной

var html = $.map($('#mainDiv p'), function(e) { return e.outerHTML }).join('');

или только параграфы

var p = $('#mainDiv').find('p');

или клон пунктов

var p = $('#mainDiv').clone(true).find('p');
  • 0
    #mainDiv элементов p внутри #mainDiv к удалению тегов mainDiv. ОП хочет удалить removeDiv . Поэтому вы захотите переформатировать эту строку в $('#removeDiv p').unwrap();
  • 0
    проверить отредактированный вопрос
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню