0

あいまいなタイトルで申し訳ありません。これが私がやりたいことの例です。

<book>
  The Lord of the Rings
  <author>JRR Tolkien</author>
</book>

$xml.find("book").each(function()
{
  $(this).text();
});

$(this).text(); "The Lord of the Rings" だけでなく ... および 内の他のノードも返します。「ロード・オブ・ザ・リング」またはそこにある情報のみを返す一貫した方法を探しています。

4

3 に答える 3

2

テキストは常にタグの前にある可能性が高いため、コンテンツの最初のノードも取得できます

$(xml).find('book').each(function(){
   var text=$(this).contents().eq(0).text();
});

デモ: http://jsfiddle.net/nS5bj/

于 2012-06-16T20:33:15.997 に答える
1

要素のクローンを作成し、そのクローンの子を削除して、裸のテキストを残すことができます。

$xml.find("book").each(function()
{
    var title = $(this).clone().children().remove().end().text();
});

.endhereを使用すると、.remove操作が終了し(すべての子タグが削除され)、残りのテキストが残るため、重要です。

JSFiddle

于 2012-06-16T20:27:37.557 に答える