1

我正在访问维基百科的 api 并通过 ajax 获取有关某个主题的信息。api返回一个我正在解析的对象,如下所示:

wikipage = data.parse.text['*'].children('p:lt(3)');
wikipage.find('sup').remove();

然而,因为维基百科使用了相当松散的格式,我发现我必须抓住返回的前 3 段以获得足够的信息。有时,维基百科会返回一个空的第一段,以及一个填充的第二和第三段。其他时候,第 1 次和第 2 次是空的,第 3 次是满的。偶尔所有3个都充满了文字。

我需要完成的是从 wikipage 对象中删除任何空段落值,然后将 wikipage = 设置为对象中的第一个 p 值。

我尝试了以下方法:

wikipage.find('p:empty').remove();
return wikipage.get(0);

但这不起作用。它不会删除空段落。

我是 jQuery 的新手,我要拔头发了,哈哈!请帮忙!

4

1 回答 1

1

尝试:

wikipage.find("p").each(function () {
    var $this = $(this);
    if ($this.html().trim() == "") {
        $this.remove();
    }
});

您还可以使用选择器:

$("p", wikipage).each(function () {

});

但我不确定这种情况的区别。链接时,使用.find() 是有意义的,但是这个选择是在开始时,所以我不知道它们有什么不同。我确定没关系,只是想指出来!

于 2012-06-22T04:30:11.460 回答