'this'这个词在jQuery的下一行中做了什么?

时间:2010-11-05 10:50:20

标签: jquery

以下jQuery行的this部分有什么作用?

$('span:visible:first', this);

3 个答案:

答案 0 :(得分:4)

它将第一个参数中指定的搜索限制为this对象的上下文。

仅选择符合指定要求的this子项。如果没有上下文,搜索将适用于整个文档。

来自docs

  

jQuery(selector,[context])

     

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

答案 1 :(得分:1)

也许扭转它是最简单的解释,it gets turned into this

$(this).find('span:visible:first');

所以它使用.find()来获取与this选择器匹配的'span:visible:first'(无论该元素是什么)的所有后代。

答案 2 :(得分:0)

由于this关键字是当前对象,因此它取决于放置代码的位置。如果指定第二个参数,则将其用作搜索的上下文,即它仅查找该上下文中的元素。

如果你自己使用它,thiswindow相同,所以它与$('span:visible:first', window)相同。

如果您在事件处理程序中使用它,this是触发事件的元素,因此它只会搜索该元素中的匹配项。