我正在尝试计算远程页面上li元素的数量,称为file.xml。我究竟做错了什么?很抱歉这个简单的问题,但我无法解决这个问题。
使用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>
答案 0 :(得分: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
。我在示例代码中规范化了那些变量名。
它看起来像是在返回HTML而不是XML。哪个可行,只需将dataType : 'xml'
更改为dataType : 'html'
(或将选项留空,因为html
是默认选项)。在一般意义上,指定内容类型而不是让jQuery自己猜测是一个好主意。
$.ajax()
的文档:http://api.jquery.com/jquery.ajax/