Устранить родительский элемент с помощью CSS?

0

Есть ли способ устранить родительский элемент при сохранении текущего элемента?

Вот мой пример:

<div id="parent">
    <div id="child">
        <span>some text</span>
    </div>
</div>   

div
{
    padding: 20px;
}
#parent
{
    background-color: green;
}
#child
{
    background-color: red;
}

Я ищу способ заменить родительский div child div. Значение Я принимаю #parent parent и заменяю его внутренний html на #child.
Я пытался играть с видимостью, но он все еще занимает пространство или скрывает целые деревья. Есть ли способ CSS? В противном случае, как это сделать легко с помощью jQuery? (обратите внимание, что в моем реальном сценарии это на каком-то уровне).

  • 0
    Не могли бы вы просто удалить накладку на родителя? jsfiddle.net/j08691/KZd67/2
  • 0
    @j08691. J08691. Нет, я не хочу, чтобы элемент в DOM вообще.
Теги:

2 ответа

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

Вы можете использовать .unwrap():

Удалите родителей из набора согласованных элементов из DOM, оставив соответствующие элементы на своем месте.

$('#child').unwrap();

Обновленный скрипт

  • 0
    Я буду использовать оператор while для проверки имени родителя и запускаю unwrap в цикле, пока не будет достигнут желаемый родитель. Хорошая идея.
  • 0
    Работает отлично. Проверьте это: jsfiddle.net/shimmy/TswLJ
1

Есть два способа сделать с .unwrap(); метод и .html(); :

С .unwrap() (предпочтительный способ):

$('#child').unwrap();

С .html(); :

var o = $('#child').html();
$('#parent').html(o);

Ещё вопросы

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