我认为标题会有点令人困惑,但是,我想要的是创建一个具有特定上下文的新jQuery对象$()
。
例如,我有我的jQuery对象,其上下文是window
对象。而且,我想创建一个新的jQuery对象,其中一个新的上下文将是一个特定的div
。全局jQuery和新的jQuery会有不同的上下文,因此,我认为,div的jQuery无法访问div之外的外部HTML元素。
问题是,我不知道如何创建一个新的jQuery对象。我正在阅读jQuery源代码,但有点令人困惑,我不知道如何使用特定的上下文创建一个新的jQuery对象。我怎么能这样做?
谢谢你的进步!
答案 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分别带有one
和two
的示例。
jQuery(function($) {
$('body').find('div').each(function(i) {
alert($(this).attr('id'));
});
});
会工作。
jQuery(function($) {
$.find('div').each(function(i) {
alert($(this).attr('id'));
});
});
无效,因为$
并不像您认为的那样具有window
上下文。它所具有的“上下文”就是你要它选择的任何东西。