为什么这个jQuery选择器有效?它的基础是什么?

时间:2012-06-20 20:03:51

标签: javascript jquery jquery-mobile jquery-selectors

this question中,使用以下代码 -

var parent = $("#jcontent"); 
var button1 = $(".button1", parent) ;

在ID button1的父级中选择类jcontent的按钮。

为什么这样做?如何将jQuery对象作为参数传递给jQuery选择器告诉它在该对象中选择?有人可以链接到解释此功能的文档吗?

2 个答案:

答案 0 :(得分:6)

这是core method callcontext参数。

该参数描述为:

  

用作上下文的DOM元素,文档或jQuery

然后有一个标有“选择器上下文”的部分,它以:

开头
  

默认情况下,选择器在DOM中从文档根开始执行搜索。但是,通过使用$()函数的可选第二个参数,可以为搜索提供备用上下文。

答案 1 :(得分:5)

第二个参数是选择器上下文:选择器匹配的DOM元素,文档或jQuery对象。如果没有此参数,则假定文档根目录。

以下声明:

var button1 = $(".button1", parent); // parent = $("#jcontent")

与写**相同:

var button1 = parent.find(".button1"); // parent = $("#jcontent")

和(在这种情况下)产生的结果与此相同:

var button1 = $("#jcontent .button1");

**如上所述here

  

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