1

file.xml というリモート ページの li 要素の数を数えようとしています。私は何を間違っていますか?簡単な質問で申し訳ありませんが、これを理解することはできません。

Javascript:

<script>
$(document).ready(function(){
$.get('/file.xml', function(data)
{
var allslides = $(data).find('li'),
var slidenumber = $allslides.length;
alert(slidenumber);
});
});
</script>  

HTML (file.xml の内容):

    <body>
    <li><h2>Headline1</h2><span class="desctext">Description</span></li>
    <li><h2>Headline2</h2><span class="desctext">Description</span></li>
    <li><h2>Headline3</h2><span class="desctext">Description</span></li>
</body>
4

1 に答える 1

2

XML ファイルをロードしていることを指定してみてください。

$.ajax({
    url      : '/file.xml',
    dataType : 'xml',
    success  : function (data) {
       var $allslides = $(data).find('li'),
           slidenumber = $allslides.length;
       alert(slidenumber);
    },
    error    : function () { /* don't forget to handle errors */ }
});

また、変数名が実際には一致しないことに気付きました。最初に を使用してallslidesから を使用します$allslides。サンプル コードでは、これらの変数名を正規化しました。

また、XML ではなく HTML を返しているようにも見えます。に変更dataType : 'xml'するだけですdataType : 'html'(または、デフォルトのようにオプションを空白のままにhtmlします)。一般的な意味では、jQuery に独自に推測させるよりも、コンテンツ タイプを指定することをお勧めします。

ドキュメント$.ajax(): http://api.jquery.com/jquery.ajax/

于 2012-10-11T18:19:54.650 に答える