jQuery追加不在Internet Explorer中工作

我有一个返回JSON数据的jquery函数:此函数适用于Google Chrome,但不适用于Internet Explorer(v11)。

 $(document).ready(function () { $.ajax({ url: "/../Projects/1/_vti_bin/ListData.svc/Prosjectlist?$select=ID,Tittel,Project_typeValue,Project_heading&$filter=(Project_typeValue%20eq%20%27Type1%27)", method: "GET", dataType: "JSON", headers: { "accept": "application/json; odata=verbose" }, success: function (data) { $('#projectRow').empty(); $.each(data.d.results, function (index, item) { var itemExist = false; $.each($('.projectRow').find('h1'), function (index1, item1) { if (item1.innerHTML == item.Project_heading) { itemExist = true; $(item1).parent().append("

" + item.Title + "

"); } }); if (itemExist == false) $('.projectRow').append("
  • " + item.Project_heading + "

    " + item.Title + "

  • "); }); }, error: function (error) { alert(JSON.stringify(error)); } });

    我正在使用jQuery 1.5.2(如果我使用更新的东西,Sharepoint 2010会变得模糊)。 我一直在看IE11中的调试器,数据就在那里,它不会附加到我的div。 似乎append可能是罪魁祸首,因为如果我用.html()替换.append() ,我可以看到$each-loop的最后一项。 例如:

     $(item1).parent().html("

    " + item.Title + "

    ");

    有谁知道为什么.append在Chrome中运行而不是IE? 控制台不提供任何错误消息,因此没有线索。 但是,如果我要将IE开发工具中的“文档模式”从8(默认)更改为9或更高,它似乎可以正常工作。

    任何帮助是极大的赞赏。

    您有两个不匹配的结束标记 。 修复HTML,它应该工作:

     
  • " + item.Project_heading + "

    " + item.Title + "

  • Chrome和Firefox对这些粗心的开发人员更加宽容。 但IE对这种错误更敏感(我实际上认为这很好)。