如何使用jQuery上下文参数?

时间:2012-08-25 20:26:29

标签: javascript jquery

jQuery使用以下语句将自身版本传递给全局作用域:

window.jQuery = window.$ = jQuery;

如此SO Post.

所示

查看jQuery source我们可以看到该定义位于jQuery的顶级范围内,并且定义如下:

// Define a local copy of jQuery
jQuery = function( selector, context ) {
    // The jQuery object is actually just the init constructor 'enhanced'
    return new jQuery.fn.init( selector, context, rootjQuery );
},

选择器看起来非常简单:只需传入一个字符串即可从DOM中选择一个或多个元素。

但是,如何正确使用上下文参数?

1 个答案:

答案 0 :(得分:2)

来自jQuery手册:

  

jQuery()

     

[...]

     

选择器上下文

     

默认情况下,选择器会在其中执行搜索   DOM从文档根开始。但是,另一种情况   可以使用可选的第二个参数来搜索   $()函数。例如,要在事件处理程序中进行搜索,   搜索可以这样限制:

$('div.foo').click(function() { $('span', this).addClass('bar'); });
     

当搜索范围选择器仅限于上下文时   这样,只有点击元素中的跨度才能获得额外的元素   类。

     

在内部,选择器上下文是使用.find()方法实现的,   因此$('span', this)相当于$(this).find('span')

请注意,jQuery会查看其参数的存在和类型,并采取相应的行动。