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

Jas*_*ogg 1 javascript jquery jquery-selectors jquery-mobile

这个问题中,使用以下代码 -

var parent = $("#jcontent"); 
var button1 = $(".button1", parent) ;
Run Code Online (Sandbox Code Playgroud)

button1在id的父级中选择一个类的按钮jcontent.

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

bdu*_*kes 6

它是核心方法调用context参数.

该参数描述为:

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

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

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


Sal*_*n A 5

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

以下声明:

var button1 = $(".button1", parent); // parent = $("#jcontent")
Run Code Online (Sandbox Code Playgroud)

与写**相同:

var button1 = parent.find(".button1"); // parent = $("#jcontent")
Run Code Online (Sandbox Code Playgroud)

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

var button1 = $("#jcontent .button1");
Run Code Online (Sandbox Code Playgroud)

如前所述**这里:

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