创建新的jQuery全局对象

时间:2013-07-30 18:57:09

标签: javascript jquery

我认为标题会有点令人困惑,但是,我想要的是创建一个具有特定上下文的新jQuery对象$()

例如,我有我的jQuery对象,其上下文是window对象。而且,我想创建一个新的jQuery对象,其中一个新的上下文将是一个特定的div。全局jQuery和新的jQuery会有不同的上下文,因此,我认为,div的jQuery无法访问div之外的外部HTML元素。

问题是,我不知道如何创建一个新的jQuery对象。我正在阅读jQuery源代码,但有点令人困惑,我不知道如何使用特定的上下文创建一个新的jQuery对象。我怎么能这样做?

谢谢你的进步!

2 个答案:

答案 0 :(得分:0)

我希望我理解你的正确。有用吗 -

var $new = $("#your-div-id");

//always use new jQuery object $new for your purpose
$new.find(selector);

答案 1 :(得分:0)

我认为你不明白jQuery是如何工作的。 jQuery包装了一个像div#some-id-here这样的选择器语句,查找它,然后尝试对它运行链接操作。默认的$在您想到的意义上并没有真正的上下文。

这是一个假设两个div分别带有onetwo的示例。

jQuery(function($) {
    $('body').find('div').each(function(i) {
       alert($(this).attr('id')); 
    });
});

会工作。

jQuery(function($) {
    $.find('div').each(function(i) {
       alert($(this).attr('id')); 
    });
});

无效,因为$并不像您认为的那样具有window上下文。它所具有的“上下文”就是你要它选择的任何东西。