获取一个空的JQuery对象

Tom*_*ard 119 jquery

在下面的代码中,我在选择框上设置了一个更改处理程序,以根据选择的值显示和隐藏一些后续问题.

此外,对于选择的某些值,显示了额外的消息.

为了检查我是否需要隐藏额外的消息,我保留了一个名为Previous的变量.执行处理程序后,我检查Previous是否为null或者大小是否为0.

将Previous更新为一个空的JQuery对象会很好,这样就不必对null进行额外的检查.

执行$()会返回大小为1的对象.

有没有办法创建一个空的Jquery对象?

//Init function.
$(function(){
//Hold the previously selected object for the account type selection.

var Previous = null;  //Here is where I would like to initialize.
                      //something like Previous = $();


$("SELECT[name='AccountType']").change(
    function () {
        //Hide Previous message if there was one.
        if(Previous == null || Previous.size() > 0){ 
            Previous.hide();
        }

        //Show the message if found and save it as previous.
        Previous = $("#"+this.value+"_Msg").show();

        //Get fisrt question
        var FirstQuestion = $(".FirstQuestion");
        if(this.value === ''){
            FirstQuestion.hide();
        }else{
            //Manually show FirstQuestion.
            FirstQuestion.show();
        }
    });
}

在最坏的情况下,我可以做这样的事情:

    var Previous = { size : function () { return 0; } };

但这似乎有点矫枉过正.

Mag*_*nar 217

这会创建一个空的jQuery对象:

$([])
Run Code Online (Sandbox Code Playgroud)

更新: 在较新版本的jQuery(1.4+)中,您可以使用:

$()
Run Code Online (Sandbox Code Playgroud)

  • 从jQuery 1.4开始,它不是.在那之前问了问题. (3认同)
  • 精细测试:$().add($("div")).css('color','red'); (2认同)

Tom*_*ard 22

$();
Run Code Online (Sandbox Code Playgroud)

返回空集

从jQuery 1.4开始,调用jQuery()没有参数的方法会返回一个空的jQuery集(.length属性为0).在以前版本的jQuery中,这将返回包含文档节点的集合.

资料来源:api.jquery.com

  • 提供链接(http://api.jquery.com/jQuery/#jQuery1)来支持你的陈述可能会让你更多:). (5认同)