从变量中创建jquery对象并不完全有效

时间:2014-03-19 21:26:34

标签: jquery

我对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 个答案:

答案 0 :(得分:2)

每次编写$(form)时,都会构造一个包含新创建的<div> new jQuery对象。第二次发生这种情况时,您正在对尚未插入DOM的元素进行操作。

整合两个用法以获得所需的结果(当然这对“真实”代码没有意义):

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