jQuery :从对象中删除空项

jQuery : Remove empty Items from object

本文关键字:删除 对象 jQuery      更新时间:2023-09-26

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

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

但是,由于维基百科使用非常松散的格式,我发现我必须抓住返回的前 3 段才能获得足够的信息。有时,维基百科会返回一个空的第一段,以及一个填充的第2和第3段。其他时候,第 1 和第 2 个是空的,第三个是满的。偶尔所有 3 个都充满了文字。

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

我尝试了以下方法:

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

但这行不通。它不是删除空段落。

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

尝试:

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

您也可以使用选择器:

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

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