我正在访问维基百科的api并通过ajax获取有关主题的信息。 api返回一个我正在解析的对象:
wikipage = data.parse.text['*'].children('p:lt(3)');
wikipage.find('sup').remove();
但是,因为维基百科使用非常宽松的格式,我发现我必须抓住返回的前3个段落才能获得足够的信息。有时,维基百科将返回一个空的第一段,以及一个填充的第二和第三段。其他时候,第一和第二是空的,第三是满的。偶尔所有3个都充满了文字。
我需要完成的是从wikipage对象中删除任何空的段落值,然后将wikipage =设为对象中的第一个p值。
我尝试了以下内容:
wikipage.find('p:empty').remove();
return wikipage.get(0);
但这不起作用。它不是删除空段落。
我是jQuery的新手,我即将拔掉头发,哈哈!请帮忙!
答案 0 :(得分:1)
尝试:
wikipage.find("p").each(function () {
var $this = $(this);
if ($this.html().trim() == "") {
$this.remove();
}
});
您也可以使用选择器:
$("p", wikipage).each(function () {
});
但我不确定这种情况的区别。链接时,使用.find()是有意义的,但这个选择在开头,所以我不知道它们有多么不同。我确定没关系,只是想指出来!