Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个jQuery选择的含义是什么?为什么我们在filter()中使用“this”?_Javascript_Jquery - Fatal编程技术网

Javascript 这个jQuery选择的含义是什么?为什么我们在filter()中使用“this”?

Javascript 这个jQuery选择的含义是什么?为什么我们在filter()中使用“this”?,javascript,jquery,Javascript,Jquery,我以这种方式使用过滤器,但它不起作用: $("p").filter(function(){ return $("span").length == 2;}).css("background-color", "yellow");}); 如果我加上这个,问题就解决了。我不知道2个元素被分隔成1美元的原因是什么,它有什么意义。实际上,到目前为止,我还没有看到2个参数一起变成$。请告诉我在本例中何时以及为什么必须使用此选项 $("p").filter(function(){ re

我以这种方式使用过滤器,但它不起作用:

$("p").filter(function(){  
    return $("span").length == 2;}).css("background-color", "yellow");});
如果我加上这个,问题就解决了。我不知道2个元素被分隔成1美元的原因是什么,它有什么意义。实际上,到目前为止,我还没有看到2个参数一起变成$。请告诉我在本例中何时以及为什么必须使用此选项

$("p").filter(function(){  
    return $("span", this).length == 2;}).css("background-color", "yellow");});

这是指最后声明的对象。在本例中,引用$p。

这是指最后声明的对象。在本例中,引用$p。

第二个参数是上下文,这意味着您的选择器将尝试在上下文中查找span,这在您的案例中引用p本身,因此所有匹配的span都将在p上下文中

从代码中可以看出,在整个文档全局上下文中,您有两个以上的跨度,因此当您使用:

$span.length在全局上下文中大于2


但是在p的上下文中,当使用$span时,您发现了两个子span。

第二个参数是上下文,这意味着您的选择器将尝试在上下文中查找span,在您的示例中,这指的是p本身,因此所有匹配的span都将在p上下文中

从代码中可以看出,在整个文档全局上下文中,您有两个以上的跨度,因此当您使用:

$span.length在全局上下文中大于2


但是在p的上下文中,当使用$span时,您发现了两个子span。

请参见此处了解更多信息-第二个变量称为上下文:请参见此处了解更多信息-第二个变量称为上下文:如果您不知道,Jquery有。如果您不知道,Jquery有。