2009-10-16 4 views
1

Я думаю, что это должно быть легко, но я не могу заставить его работать. Я хочу, чтобы целевой Див или другой элемент с помощью JQuery, а затем динамически создать DIV, содержащий целевой элемент, например:Создайте div, содержащий целевой div, используя jQuery

JQuery (».MyClass')

Как я могу создать DIV с background- атрибут цвета, установленный на белый, содержащий элемент «myclass»?

Изначально у меня есть: <div class="myclass">Some HTML elements inside</div>

И после выполнения вызова JQuery я хочу иметь: <div style="background-color:#fff"><div class="myclass">Some HTML elements inside</div></div>

Я надеюсь, что вы понимаете мой вопрос ...

ответ

3

Вы можете использовать функцию wrap, чтобы поместить обертку вокруг соответствующих элементов. Я предпочел бы использовать класс для фона, но вы также можете назначить свойства CSS.

$('.myclass').wrap($('<div></div>').css('background-color', '#fff')); 

или

$('.myclass').wrap($('<div></div>').addClass('white-background')); 
+1

+1 Но ... «white-background» - не очень семантическое имя класса. Что-то вроде «выделено» или «выбрано» было бы лучше, в зависимости от причины для белого фона./pedantry – brianpeiris

+0

Согласен - хотя мне не так много работать, кроме фона, который должен быть белым. – tvanfosson

0
var $myDiv = $('<div>').css('background-color','#fff').append($('.myclass')); 

Вы можете написать эту переменную в DOM по своему усмотрению или делать все, что вам нужно.

+0

К сожалению, я отредактировал мой вопрос, теперь я надеюсь, что вы можете понять это лучше, есть несколько элементов с таким же классом в в HTML, не только один. Я хочу иметь все элементы с данным классом с окружающим div с белым фоном. – fidoboy

+0

Возможно, это все еще работает. –

+0

Ответ tvanfosson будет лучше работать для редактирования на месте, если это то, чего вы пытаетесь достичь. –

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