3

一部のクラスに文字列 (img) に html マークアップが含まれているテーブルに文字列を渡しています。変換後、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");

結果は、テーブル「jobheaderResults」の Firefox および Chrome でのイメージを示します。ただし、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>"
4

1 に答える 1

1

これを試して

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

これはすべてのブラウザで機能するはずです。jQuery.com から: 「この (.html()) メソッドは、ブラウザーの innerHTML プロパティを使用します。一部のブラウザーは、元のドキュメントの HTML ソースを正確に複製する HTML を返さない場合があります。たとえば、Internet Explorer では、属性値を囲む引用符が省略されることがあります。英数字のみが含まれている場合。」

于 2012-09-07T19:05:32.447 に答える