2013-07-11 2 views
1

В настоящее время у меня настройки страницы как:Размещение DIV внутри тела тега

<body id="some-id"> 

    <div class="some-class"> 
    </div> 
    <!-- some-class --> 

</body> 

Я попытался с помощью добавления и раньше, однако, это не совсем делать то, что я хочу сделать.

Я пытаюсь добавить DIV с идентификатором inserted-div так:

<body id="some-id"> 

<div id="inserted-div"> 

    <div class="some-class"> 
    </div> 
    <!-- some-class --> 

</div> 
<!-- inserted div --> 

</body> 

Каждый раз, когда я использую что-то, например: $('body').appendto("<div id='inserted-div'>"); он либо не будет вставлять или вставит </div> после вставленная < div> вместо размещения </div> перед закрывающим корпусом. Пробовал preend и prependto, но не повезло.

ответ

1

Вы ищете wrap метод.

$('.some-class').wrap('<div id="inserted-div"></div') 

$('body').prepend - добавит DIV в качестве первого ребенка тела.

$('body').append - добавит div как последний ребенок тела.

Но в вашем случае вы хотите, чтобы inserted-div был оберткой для уже существующего div.

Check Fiddle

Для предназначаться только первый экземпляр вы можете использовать либо

$('.some-class').first() или $('.some-class:eq(0)')

+0

Правильно! полностью забыл об обертке :) Только дело обертывает тело, и я не хотел обертывать 'some-class', поскольку он может меняться, поэтому я хотел его внутри' body' и обертывания всего другого контента :) –

+0

Дайте div уникальный ID –

+0

Хорошо понимайте. Нужно обернуть независимо. –

1

Если вы хотите, чтобы обернуть что-то вокруг всего содержимого тела, попробуйте:

$("body > *").wrapAll("<div id='inserted-div'/>"); 

Если вы хотите обернуть первый DIV в корпусе:

$("body > div:eq(0)").wrap("<div id='inserted-div'/>"); 
+0

Спасибо. Выглядит неплохо. Но, как указано выше, по какой-то причине он дважды создает «вставленный-div»? –

+0

Можете ли вы продемонстрировать в скрипке? – Barmar

+0

Может быть, мой собственный JS прерывает его. Fiddle будет довольно длинным, и я не хочу задерживать свое время отладки моего кода. Я установлю его в заголовке и посмотрю, как это происходит. –

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