jQuery XML解析器循环在IE8中的1228行停止
我有一个jQueryXML文件解析器,它可以读取XML文件并将内容解析为HTML页面中的列表jQuery XML解析器循环在IE8中的1228行停止,jquery,internet-explorer-8,xml-parsing,Jquery,Internet Explorer 8,Xml Parsing,我有一个jQueryXML文件解析器,它可以读取XML文件并将内容解析为HTML页面中的列表 $(document).ready(function(){ $("#dvContent").append("<ol></ol>"); $.ajax({ type: "GET", url: "BookList.xml", dataType: "xml", success:
$(document).ready(function(){
$("#dvContent").append("<ol></ol>");
$.ajax({
type: "GET",
url: "BookList.xml",
dataType: "xml",
success: function(xml){
$(xml).find('Book').each(function(){
var sTitle = $(this).find('Title').text();
var sPublisher = $(this).find('Publisher').text();
$("<li></li>").html(sTitle + ", " + sPublisher).appendTo("#dvContent ol");
});
},
error: function() {
alert("An error occurred while processing XML file.");
}
});
});
$(文档).ready(函数(){
$(“#dvContent”)。追加(“”);
$.ajax({
键入:“获取”,
url:“BookList.xml”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('Book').each(函数(){
var sTitle=$(this.find('Title').text();
var sPublisher=$(this.find('Publisher').text();
$(“”)html(sTitle+”,“+sPublisher).附录(“#dvol”);
});
},
错误:函数(){
警报(“处理XML文件时出错。”);
}
});
});
我的XML文件大约有24000行,其中6500行是标记。Chrome可以在大约1秒或更短的时间内循环通过所有6400行,但IE8似乎在1228行结束
这是IE8将这个循环解释为无限循环并停止它的进程还是其他什么
提前感谢大家。反复附加到DOM对性能不利。你应该附加一次。此外,每次查找要追加的位置也很昂贵
$("<li></li>").html(sTitle + ", " + sPublisher).appendTo("#dvContent ol");
所以像这样的东西应该表现得更好一点
var outHTML = "";
$(xml).find('Book').each(function(){
var book = $(this),
sTitle = book.find('Title').text(),
sPublisher = book.find('Publisher').text();
outHTML += "<li>" + sTitle + ", " + sPublisher + "</li>");
});
$("#dvContent ol").append(outHTML);
var outHTML=”“;
$(xml).find('Book').each(函数(){
var帐簿=$(本),
sTitle=book.find('Title').text(),
sPublisher=book.find('Publisher').text();
outHTML+=“”+sTitle+”、“+sPublisher+” ”;
});
$(“#dvol”).append(outHTML);
最后,6400个项目需要添加到页面中,最好以另一种格式显示数据。太好了,谢谢我的朋友!我绝对同意你的看法,这个数额是用于测试目的的。我只是很好奇为什么它可能会被封顶,它可能会导致我不知道的其他含义(比如你指出的东西!)。IE在被认为是慢脚本之前,可以运行大约500万个语句操作。我相信其他浏览器都是按时间来做的。我认为Firefox大约是10秒。
var outHTML = "";
$(xml).find('Book').each(function(){
var book = $(this),
sTitle = book.find('Title').text(),
sPublisher = book.find('Publisher').text();
outHTML += "<li>" + sTitle + ", " + sPublisher + "</li>");
});
$("#dvContent ol").append(outHTML);