jquery中find和filter之间的区别

前端之家收集整理的这篇文章主要介绍了jquery中find和filter之间的区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从维基页面获取数据.我使用PHPjquery的组合来做到这一点.首先我在PHP中使用curl来获取页面内容并回应内容.文件名是content.PHP
$url = $_GET['url'];
$url = trim($url," ");
$url = urldecode($url);
$url = str_replace(" ","%20",$url);

echo "<a class='urlmax'>".$_GET['title']."</a>";
echo crawl($url);

那么jQuery是用来找到匹配的元素.

$.get("content.PHP",{url:"http://en.wikipedia.org/w/index.PHP?action=render&title="+str_replace(" ","_",data[x]),title:str_replace(" ",data[x])},function(hdata){
                        var imgs = $(hdata).find('a.image img');
                        var ent = $(hdata).filter('a.urlmax');


                        ent = $(ent[0]).text();


});

当我使用find而不是filter时,我能够成功获取图像,但是对于变量ent,它返回一个空数组.只有过滤器正在工作.为什么是这样?

编辑:我知道find和filter之间的基本区别.这里a.image img和a.urlmax都是hdata的下降.那么为什么find不能在a.urlmax上工作.不是a.urlmax,它不会在任何其他类或id上工作

解决方法

.找()
http://api.jquery.com/find/

Get the descendants of each element in the current set of matched elements,filtered by a selector,jQuery object,or element.

另一方面,过滤器适用于当前匹配的元素.这就是为什么过滤器工作,但发现没有(你需要看现在的元素).

猜你在找的jQuery相关文章