11

Cheerio を使用して、div のコンテンツのみを抽出しようとしています。その div の子は使用しません。div.text() を使用すると、親と子のすべてのテキストが取得されます。HTML は次のとおりです。「5.25」という値が必要です。

以下のコードは現在、「購入価格 $5.25」を返します。

以下の HTML:

<div class="outer tile"> 
    < ... various other html here > 
    <div class="cost">
        <span class="text">Purchase price </span>
        <small>$</small>5.25
    </div>
</div>

以下の関連する node.js CHEERIO コードの抜粋:

var $ = cheerio.load(data);
$("div.outer.tile").each(function(i, e) {
  var price = $(e).find('div.price');
      console.log(price.text());
});
4

3 に答える 3

0

この投稿を使用しました

jqueryを使用してスパン要素の後のテキストを取得します

フィドルを作るための参考として

http://jsfiddle.net/TKwhY/

私には初めてでしたが、nodeType 3 の要素のみを返すことでテキスト ノードを取得できます。

var a = $('.cost').first().contents().filter(function() {
    return this.nodeType == 3;
});
于 2013-12-30T04:31:33.057 に答える