关于jQuery选择器内容效率的快速问题

时间:2010-09-18 16:13:30

标签: jquery

我正在通过ajax加载HTML页面,然后使用选择器进行一系列搜索:

$.ajax({
    ...
    dataType: "html",
    success: function(html) {
        $("#id1", html);
        $(".class", html);
        //...
    }
}

我应该将$(html)提取到变量中并将其用作内容,还是无关紧要(从性能点开始)?

success: function(html) {
        $html = $(html);
        $("#id1", $html);
        $(".class", $html);
        //...
    }

2 个答案:

答案 0 :(得分:1)

您应始终尽量减少$()次呼叫的数量,因为它们很昂贵。这些调用中的每一个都构造了新的JQuery对象,因此将这些对象保存到变量是一件好事。

答案 1 :(得分:0)

我会这样做:

success: function(html) {
            $(html)
                .find("#id1").do().do().end()
                .find(".class").do().end();
}