создание объекта jquery из переменной не полностью работает

0

Я новичок в jquery, и я столкнулся с проблемой. Я использую $() чтобы сделать переменную объектом jquery. Но почему-то это работает не так, как ожидалось (я ожидаю, что он сможет получить доступ ко всем методам jquery для этого объекта). Вот что я сделал:

$(function() {
    var form = "<div id='menu-box'></div>";
    $(form).appendTo('body').css({'backgroundColor': 'blue'});  // this line works
    $(form).css({'backgroundColor': 'red'});  // this line does not.

});

Я использую jquery-1.9.1, это ошибка, или я сделал что-то неправильно.

Теги:

1 ответ

2

Каждый раз, когда вы пишете $(form), создается новый объект jQuery, который обертывает вновь созданный <div>. Во второй раз это происходит, вы работаете над элементом, который не был вставлен в DOM.

Вместо этого создайте два соглашения, чтобы получить желаемый результат (хотя, конечно, это не имеет смысла для "реального" кода):

var $form = $("<div id='menu-box'></div>");
$form.appendTo('body').css({'backgroundColor': 'blue'});
$form.css({'backgroundColor': 'red'});
  • 0
    Мне было интересно, имел ли он в виду это ...
  • 0
    @ Джон, спасибо за объяснение. Теперь я понимаю.

Ещё вопросы

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