使用jQuery对象的理解

这个问题在这里已经有了答案:

  • jQuery选择器重用最佳实践2个答案

  • 我记得第二个包装没有任何作用。 所以如果可以有一个选择器一个DOM元素或一个jQuery对象,你可以包装它,不关心它是什么。

    但如果你知道它是一个jQuery对象,你不应该使用包装。


    当开发人员开发一个函数时,例如在一个jQuery插件中,它可以获得一个DOM元素或jQuery对象或选择器的参数,然后他们使用它:

    function x(container) {
        container = $(container);
        // use container as a jquery object
    }
    
    // these both work:
    x("#containerId");
    x($("#containerId"));
    x(document.getElementById("containerId"));
    

    案例1:使用jQuery选择器来查找一个dom元素并返回一个jQuery对象:

    var container =  $("#containerId");
    
    // Then use it as:
    container.hide();
    

    案例2:冗余/错误(或者,如果您不确定变量是否已经是jQuery对象,但您需要它):使用jQuery选择器查找dom元素并返回jQuery对象,然后将其传递给新的jQuery对象:

    var container =  $("#containerId");
    
    // Then use it as:
    $(container).hide();
    

    案例3:选择一个dom元素,然后在构造函数中使用它来创建一个新的jQuery对象(然后调用hide())

    var container =  document.getElementById("#containerId");
    
    // Then use it as:
    $(container).hide();
    
    链接地址: http://www.djcxy.com/p/83931.html

    上一篇: Using jQuery object understanding

    下一篇: How do I check if a variable is a jQuery object or plain DOM element?