在这个问题中,使用了以下代码 -
var parent = $("#jcontent");
var button1 = $(".button1", parent) ;
button1
在 id 的父级中选择一个类按钮jcontent
。
为什么这行得通?将 jQuery 对象作为参数传递给 jQuery 选择器如何告诉它在该对象中进行选择?有人可以链接到解释此功能的文档吗?
在这个问题中,使用了以下代码 -
var parent = $("#jcontent");
var button1 = $(".button1", parent) ;
button1
在 id 的父级中选择一个类按钮jcontent
。
为什么这行得通?将 jQuery 对象作为参数传递给 jQuery 选择器如何告诉它在该对象中进行选择?有人可以链接到解释此功能的文档吗?
它是核心方法调用context
的参数。
参数描述为:
用作上下文的 DOM 元素、文档或 jQuery
然后有一个标有“选择器上下文”的部分,其开头是:
默认情况下,选择器从文档根目录开始在 DOM 中执行搜索。但是,可以使用 $() 函数的可选第二个参数为搜索提供替代上下文。
第二个参数是选择器上下文:选择器在其中匹配的 DOM 元素、文档或 jQuery 对象。如果没有此参数,则假定为文档根。
以下声明:
var button1 = $(".button1", parent); // parent = $("#jcontent")
和写**一样:
var button1 = parent.find(".button1"); // parent = $("#jcontent")
并且(在这种情况下)产生与此相同的结果:
var button1 = $("#jcontent .button1");
** 如此处所述:
在内部,选择器上下文是用 .find() 方法实现的,所以 $('span', this) 等价于 $(this).find('span')。