在this question中,使用以下代码 -
var parent = $("#jcontent");
var button1 = $(".button1", parent) ;
在ID button1
的父级中选择类jcontent
的按钮。
为什么这样做?如何将jQuery对象作为参数传递给jQuery选择器告诉它在该对象中选择?有人可以链接到解释此功能的文档吗?
答案 0 :(得分:6)
这是core method call的context
参数。
该参数描述为:
用作上下文的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')。