jQuery $('element',this)选择器,它是什么意思?

时间:2012-06-26 23:26:45

标签: javascript jquery selector

我在一个函数中使用了这个选择器,我甚至不知道它究竟是什么意思,但它确实有效 - 这是我的代码片段:

else if($(this).hasClass('list')) {
        listItem.stop(true,true).fadeOut(333, function(){ 
        var $this = $(this);
        if(listItem.hasClass('grid')) {
            $this.find('h1', this).insertBefore($this.children());
        }

3 个答案:

答案 0 :(得分:7)

“。find()”方法只关注一个参数,因此它与

完全相同
$this.find('h1') 

JavaScript不关心你是否向函数传递了太多参数;事实上,没有“太多论点”这样的概念。

答案 1 :(得分:4)

您可以在$()函数中使用上下文,如下所示:

$('element', this)

然后它只会搜索this所指的元素的后代。

这相当于使用find方法:

$(this).find('element')
但是,使用带有两个参数的find毫无意义。它只会忽略第二个参数。

答案 2 :(得分:1)

使用alternative selector context代替jQuery构造函数的文档根目录。

.find() method将忽略除选择器之外的任何其他参数。它的搜索上下文节点是作为函数调用的上下文。