微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

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

原文地址:https://www.jb51.cc/jquery/179362.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐