我用$.ajax加载一个xml文件:
$.ajax({
url:'data.xml',
type:'get',
datatype:'xml',
error:function(){ alert('error load xml document')},
success:function(xml){
$('#load_data').empty();
$('#load_data').append('<h3>我给你推荐几本书:</h3>');
$('#load_data').append('<dl></dl>');
$(xml).find('book').each(function(){
var html;
var $book=$(this);
var $image=$book.attr('imageurl');
html='<dt><img src="'+$image+ '"/></dt>';
$('dl').append(html)
})}})})
数据在火狐中能显示,但在IE中不能显示,各位高手帮我看看这是为什么?
$.ajax({
url:'data.xml',
type:'get',
datatype:'xml',
error:function(){ alert('error load xml document')},
success:function(xml){
$('#load_data').empty();
$('#load_data').append('<h3>我给你推荐几本书:</h3>');
$('#load_data').append('<dl></dl>');
$(xml).find('book').each(function(){
var html;
var $book=$(this);
var $image=$book.attr('imageurl');
html='<dt><img src="'+$image+ '"/></dt>';
$('dl').append(html)
})}})})
数据在火狐中能显示,但在IE中不能显示,各位高手帮我看看这是为什么?
<script>
window.onload=function(){
$.ajax({
url:'data.xml',
type:'get',
datatype:'xml',
error:function(){ alert('error load xml document')},
success:function(xml){
$('#load_data').empty();
$('#load_data').append(' <h3>我给你推荐几本书: </h3>');
$('#load_data').append(' <dl> </dl>');
$(xml).find('book').each(function(){
var html;
var $book=$(this);
var $image=$book.attr('imageurl');
html=' <dt> <img src="'+$image+ '"/> </dt>';
$('dl').append(html)
})
}})
}
</script><div id="load_data"></div>
<dl></dl>
{
data:""
dataType:"xml";
contentType:"";
beforeSend:function(XMLHttpRequest)
{}
success:function()
{
$('#load_data').empty();
$('#load_data').append(' <h3>我给你推荐几本书: </h3>');
$('#load_data').append(' <dl> </dl>');
$(xml).find('book').each(function(){
var html;
var $book=$(this);
var $image=$book.attr('imageurl');
html=' <dt> <img src="'+$image+ '"/> </dt>';
$('dl').append(html) }
complete:function(data)
{
$(#msg).html(data);
$(#msg).css("color":"red");
},
error:fuction()
{}})
楼主是想找到返回的xml中的book标记?
在IE中$(html)是有bug的,据我说知,在IE中当返回的数据过多时,这个函数不能创建jquery对象,
你可以alert($(xml).find('book').html());测试一下,其他浏览器是可以的。