1

ウィキペディアの API にアクセスし、ajax を介してトピックに関する情報を取得しています。API は、次のように解析しているオブジェクトを返します。

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

ただし、ウィキペディアはかなり緩い書式設定を使用しているため、十分な情報を得るには、返された最初の 3 つの段落を取得する必要があることがわかりました。ときどき、ウィキペディアは空の最初の段落と、入力された 2 番目と 3 番目の段落を返します。それ以外の場合は、1 番目と 2 番目が空で、3 番目がいっぱいです。また、3 つすべてがテキストでいっぱいになることもあります。

私が達成する必要があるのは、空の段落値を wikipage オブジェクトから削除してから、オブジェクトの最初の p 値に wikipage = を作成することです。

私は次のことを試しました:

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 に答える