Javascript IE不使用jquery将字符串转换为HTML

Javascript IE不使用jquery将字符串转换为HTML,javascript,jquery,internet-explorer-9,innerhtml,Javascript,Jquery,Internet Explorer 9,Innerhtml,我将一个字符串传递给一个表,其中一些类包含字符串中的html标记(img)。转换后,使用innerHTML附加此表在chrome和FF中效果很好,但在IE中效果不好 下面是类似以下内容的代码: var dfd = $.Deferred(); var requestParams = {}; templatingIsDone = jsonRequest(ResolveUrl("~/Results/ResultsService.asmx/GetMostRecentUpl

我将一个字符串传递给一个表,其中一些类包含字符串中的html标记(img)。转换后,使用innerHTML附加此表在chrome和FF中效果很好,但在IE中效果不好

下面是类似以下内容的代码:

var dfd = $.Deferred();
        var requestParams = {};
        templatingIsDone = jsonRequest(ResolveUrl("~/Results/ResultsService.asmx/GetMostRecentUploadsService"), requestParams).success(function (data) {
            if (data.Success == true) {
                var jheaderResults = $("#jobheaderResults tbody");  //HTML Markup
                try {
                    jheaderResults.empty();
                    var results = data.Results;

                    $.tmpl("jobHeaderTemplate", data.Results).appendTo(jheaderResults);

                    var allCaterLinks = $(".CaterRequestLinking");
                    $.each(allCaterLinks, function (index, value) {
                        if ($.browser.msie) {
                            value.innerHTML = value.innerText;
                        } else {
                            value.innerHTML = value.textContent;
                        }
                    });

                    $("#jobheaderResults tbody").trigger("update");
结果显示它在Firefox和Chrome中的图像在“jobheaderResults”表中。但是IE不会呈现图像,而是显示html标记。如何将其转换为HTML

我还尝试了以下代码,但无效:

                  //value.innerHTML = value.empty().html(value.innerHTML);
                  //value.innerHTML = value.textContent;
                  //value.innerHTML = value.innerHTML.html();
                  //value.html(value.innerText);
                  //value.innerHTML = value.outerText;
以上这些都不起作用,它们都未能将图像渲染到IE上

关于其他信息,我尝试转换的实际标记是:

"<a href=\"#\" class=\"caterReqClass\"><img src=\"/HWVDB/images/Cater-Icon.jpg\" alt=\"CaterReqAlternate\"/></a>"
“”
试试这个

    $.each(allCaterLinks, function () {
        $('.allCaterLinks').html($('.allCaterLinks').text());
    });

这应该适用于所有浏览器。来自jQuery.com:“此(.html())方法使用浏览器的innerHTML属性。某些浏览器可能不会返回与原始文档中的html源完全相同的html。例如,如果属性值仅包含字母数字字符,Internet Explorer有时会在属性值周围省去引号。”

我记得不久前关于innerHTML在IE中失败的一些事情。解决方法是在DOM中获取元素并将.appendChild添加到其中。你试过了吗?我试过使用jqueryappend函数,但是在$下,每个函数都失败了。尚未尝试DOM元素中的.appendChild函数,将对此进行尝试。我希望留在jqueryI的范围内。在使用IE调试器之前和之后,我都尝试过:对象不支持属性或方法“text”,在此之后,我也尝试过:value.html(value.innerText);对象不支持属性或方法“html”,也要确认,我使用的是IE9。当然,我所有的jquery库都包含在内,这可能是因为您使用的是函数本身的值。我想你可以不用使用$('.allCaterLinks').html($('.allCaterLinks').text());因为您不需要从选择器的特定索引中获取值。显然,更改为IE9查看器并将代码更改为
code
value.innerHTML=value.innerText确实有效!!但仅在IE9视图中,IE9以下的任何内容似乎都不会渲染图像