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有。