jQuery XML解析器循环在IE8中的1228行停止

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:

我有一个jQueryXML文件解析器,它可以读取XML文件并将内容解析为HTML页面中的列表

$(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);