Javascript JQuery Append/Html在IE7/8/8compatmode下不工作,但在FF/Chrome/Opera中工作

Javascript JQuery Append/Html在IE7/8/8compatmode下不工作,但在FF/Chrome/Opera中工作,javascript,xml,internet-explorer,jquery,Javascript,Xml,Internet Explorer,Jquery,想找到这个简直是疯了。任何帮助都将不胜感激 问题是这段代码在IE7/8/8compatmode中“什么都不做”。在Chrome 15.0.8和FF3.5以及Opera 11.60中工作良好 它使用一个xml文件通过ajax读取,然后将其放在表中。我尝试了几件事,在代码之后我会详细介绍 XML: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <issues> <issue> <id

想找到这个简直是疯了。任何帮助都将不胜感激

问题是这段代码在IE7/8/8compatmode中“什么都不做”。在Chrome 15.0.8和FF3.5以及Opera 11.60中工作良好

它使用一个xml文件通过ajax读取,然后将其放在表中。我尝试了几件事,在代码之后我会详细介绍

XML:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<issues>
 <issue>
  <id>12</id> 
  <emp>44</emp> 
  <author>1</author> 
  <comments>Example comments go here</comments> 
  <issueDate>12/5/2011</issueDate> 
  <modifiedBy /> 
  <modifiedDate /> 
  <modifiedComments /> 
  <pending>true</pending> 
  <valid>false</valid> 
  </issue>
</issues>
<script type="text/javascript">
        $(document).ready(function () {
            grabIssues('2011/12/01', '2011/12/13');
        });
        function grabIssues(startDate, endDate) {
            $.ajax({
                type: "POST",
                url: "Ajax/mtlIssues.aspx",
                data: {
                startDate: startDate,
                endDate: endDate
                },
                dataType: ($.browser.msie) ? "text" : "xml",
                success: function (result) {
                    createIssues(result);
                }
            });
        }
        function createIssues(xml) {
            var data = "";
            //newIssueArray = [];
            $("issue", xml).each(function (id) {
                message = $("issue", xml).get(id);
                $id = $("id", message).text();
                $emp = $("emp", message).text();
                $author = $("author", message).text();
                $comments = $("comments", message).text();
                $issueDate = $("issueDate", message).text();
                $pending = $("pending", message).text();
                $valid = $("valid", message).text();
                //$("#empList").append("<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>");
                //newIssueArray.push("<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>");
                data += "<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>";
            });
            //$("#empList").html("");
            //for (i in newIssueArray) {
            //$("#empListDetails").append(newIssueArray[i]);
            //data += newIssueArray[i];
            //}
            //$("#empList").append("</table>");
            $("#empListDetails").html(data);
        }
</script>

12
44
1.
下面是示例注释
12/5/2011 
真的
假的
javascript:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<issues>
 <issue>
  <id>12</id> 
  <emp>44</emp> 
  <author>1</author> 
  <comments>Example comments go here</comments> 
  <issueDate>12/5/2011</issueDate> 
  <modifiedBy /> 
  <modifiedDate /> 
  <modifiedComments /> 
  <pending>true</pending> 
  <valid>false</valid> 
  </issue>
</issues>
<script type="text/javascript">
        $(document).ready(function () {
            grabIssues('2011/12/01', '2011/12/13');
        });
        function grabIssues(startDate, endDate) {
            $.ajax({
                type: "POST",
                url: "Ajax/mtlIssues.aspx",
                data: {
                startDate: startDate,
                endDate: endDate
                },
                dataType: ($.browser.msie) ? "text" : "xml",
                success: function (result) {
                    createIssues(result);
                }
            });
        }
        function createIssues(xml) {
            var data = "";
            //newIssueArray = [];
            $("issue", xml).each(function (id) {
                message = $("issue", xml).get(id);
                $id = $("id", message).text();
                $emp = $("emp", message).text();
                $author = $("author", message).text();
                $comments = $("comments", message).text();
                $issueDate = $("issueDate", message).text();
                $pending = $("pending", message).text();
                $valid = $("valid", message).text();
                //$("#empList").append("<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>");
                //newIssueArray.push("<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>");
                data += "<tr><td>" + $emp + "</td><td>" + $issueDate + "</td><td>" + $comments + "</td><td>" + $pending + "</td></tr>";
            });
            //$("#empList").html("");
            //for (i in newIssueArray) {
            //$("#empListDetails").append(newIssueArray[i]);
            //data += newIssueArray[i];
            //}
            //$("#empList").append("</table>");
            $("#empListDetails").html(data);
        }
</script>

$(文档).ready(函数(){
主要问题(“2011/12/01”、“2011/12/13”);
});
功能问题(开始日期、结束日期){
$.ajax({
类型:“POST”,
url:“Ajax/mtlIssues.aspx”,
数据:{
开始日期:开始日期,
结束日期:结束日期
},
数据类型:($.browser.msie)?“文本”:“xml”,
成功:功能(结果){
问题(结果);
}
});
}
函数createIssues(xml){
var数据=”;
//newIssueArray=[];
$(“问题”,xml)。每个(函数(id){
message=$(“问题”,xml).get(id);
$id=$(“id”,message).text();
$emp=$(“emp”,message).text();
$author=$(“author”,message).text();
$comments=$(“comments”,message).text();
$issueDate=$(“issueDate”,message).text();
$pending=$(“pending”,message).text();
$valid=$(“valid”,message).text();
//$(“#empList”).append(“+$emp+”+$issueDate+”+“+$comments+”+“+$pending+”);
//newIssueArray.push(“+$emp+”+$issueDate+“+$comments+”+“+$pending+”);
数据+=“”+$emp+“”+$issueDate+“”+$comments+“”+$pending+“”;
});
//$(“#empList”).html(“”);
//对于(我在NewIssuarray){
//$(“#雇员详细信息”)。追加(新发行的array[i]);
//数据+=newIssueArray[i];
//}
//$(“#雇主”)。追加(“”);
$(“#empListDetails”).html(数据);
}
部分html

<div id="empList" class="ui-widget">
            <table id='empListTable'>
                <thead>
                    <tr><th>Name</th><th>Date</th><th>Comments</th><th>Pending</th></tr>
                </thead>
                <tbody id='empListDetails'></tbody>
            </table>
        </div>

姓名日期支出
我所尝试的: 从中留下的注释代码可以看出,我尝试了从创建数组到使用变量,再到在检测到每个变量时直接将其追加到页面的所有方法

  • 我还尝试只创建一个空白div(empList)并创建 并使用.html()插入它。 没用。也没有追加
  • 我已经用几种方法编写了这些代码,并且都在FF/Chrome/Opera中工作。但我 甚至不能让IE7/8/8compatmode给我一个错误。只是 什么也没发生
  • 我将JQuery从1.4.2升级到1.7.1,并再次尝试所有变体。 希望这可能是Jquery团队发现的bug,而不是我的代码 直接的。没用
  • 另外请注意,我从javascript中删除了“修改”部分。信息技术 在那里,但问题在之前/之后一直存在
  • 这显示在IE8中的f12/dev控制台上根本没有输入任何内容。 根本没有在里面放任何文字

任何帮助都将不胜感激。

千万不要使用DOM遍历方法来迭代xml,因为它是特定于浏览器的,请尝试使用

千万不要使用DOM遍历方法来迭代xml,请尝试使用
$。parseXML
@3nigma就是一个答案。把我修好了。