質問
私はこのように見えるXMLを解析しています
<title>abc</title>
<summary>abc</summary>
<content type='application/atom+xml' src='abc'/>
<link rel='alternate' type='application/atom+xml' href='abc'/>
<title>abc</title>
<summary>xyz</summary>
<content type='application/atom+xml' src='xyz'/>
<link rel='alternate' type='application/atom+xml' href='xyz'/>
<title>abc</title>
<summary>abb</summary>
<content type='application/atom+xml' src='abb'/>
<link rel='alternate' type='application/atom+xml' href='abb'/>
私のjquery:
$title.each(function(index)
{
if (index != 0)
{
$("#container").append('<div id=' + index + '></div></br>');
$('#' + index).text($(this).text());
$srcnode = $(xml).find('content')[index];
alert($srcnode.attr('src'));
}
}
要素に対してATTR「SRC」が見つかっていないため、エラーが発生しています。コンテンツにあるタイトルに対応するリンクを取得しようとしています
解決
変更してみてください
$srcnode = $(xml).find('content')[index];
に
$srcnode = $(xml).find('content').eq(index);
(+「xml」変数はありません。)修正した後、正しく動作するはずです
他のヒント
変化する
$srcnode = $(xml).find('content')[index];
に
$srcnode = $(xml).find('content').eq(index);
attr
あなたがjQueryメソッドです $(xml).find('content')[index]
XMLノードが得られます。 jqueryは持っています eq
整数をパラメーターとして取得し、一致した要素セットからそのインデックスの要素を返す方法。
に加えて []
jQueryラッパーではなくDOMノードを提供すると、さらに2つの問題があります。
$(xml)
$()
HTMLを解析し、そこからノードを作成するショートカットです。しかし、あなたのコンテンツはhtmlではなく、xmlであり、HTMLとして解析しようとすると、ブラウザを混同します(特にIEの場合)。使用する $.parseXML()
XMLを解析します。
'<div id=' + index + '></div></br>'
純粋に数字を避けてください id
S、それらは有効ではなく、ブラウザを混乱させることができます。調べる必要はありません id
とにかく、あなたはすでに持っているノードへの参照を使用することができます、例: $('<div/>', {text: $(this).text()}).appendTo('#container');
.
所属していません StackOverflow