【问题标题】:IE 10 + jQuery - Not able to use "append" functionIE 10 + jQuery - 无法使用“追加”功能
【发布时间】:2013-02-05 07:28:41
【问题描述】:

我正在使用 KendoUI 框架运行一个 HTML 5 应用程序。有一次屏幕处理需要解析和处理的 XML 数据。

此屏幕需要显示为弹出窗口,并且该数据显示在此弹出窗口内的网格中。为此,我在单击“show-popup”按钮时调用一个函数,其中包含以下代码:

    var tTranslationXML = XMLFromString(_SelectedCategoryValueRecord.DisplayTextTranslation);
.
.
.
// other stuff but nothing that changes "tTranslationXML"
. 
.
if (_SelectedCategoryValueRecord.DisplayTextTranslation) // and there are values in the translation field
            {
                var $language = $(tTranslationXML).find('Language');
                var $oldTranslation = $($language).find("en-US");
                if ($oldTranslation.length == 0)
                    $oldTranslation = $($language).find(GetCorrectedCase("en-US"));
                if ($oldTranslation.length == 0) {
                    var $newTranslation = $.createElementNS("en-US").text(_UpdatedDisplayText);
                    $language.append($newTranslation);
                }
            }

如果您想知道“XMLFromString”是什么,它只不过是从字符串变量解析 XML 数据的简单助手

function XMLFromString(pXMLString) 
{
if (!pXMLString)
    pXMLString = "<Language></Language>";
if (window.ActiveXObject) {
    var oXML = new ActiveXObject("Microsoft.XMLDOM");
    oXML.loadXML(pXMLString);
    return oXML;
} else {
    return (new DOMParser()).parseFromString(pXMLString, "text/xml");
}
}

我的问题是这在 Chrome 和 Firefox 上运行良好,但在执行此特定行时我在 IE10 中收到错误 -

"$language.append($newTranslation);"

我基本上是在尝试将新的翻译值附加到我的变量的内容中。

错误如下: SCRIPT13:类型不匹配 jquery-1.8.3.min.js,第 2 行字符 71981

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 我想我最近遇到了一个在 IE10 上遇到最新 JQuery 问题的人。该问题已通过早期版本修复。你试过吗?
  • 尝试一些不太复杂的东西(通过控制台)以排除任何其他错误; $('body').append($('&lt;div&gt;Hello World&lt;/div&gt;'))

标签: javascript jquery xml-parsing internet-explorer-10


【解决方案1】:

抱歉,回复延迟。

我发现问题在于避免使用“createElementNS”方法,而是在创建父节点时使用“createElement”方法。该节点的后续附件不会引发任何问题。但是,当您附加到最初使用“createElementNS”创建的节点时会出现问题。

这似乎是 IE10 特有的,因为 NS 方法在 chrome、FF 和 Safari 上运行良好。

感谢大家的提示和想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-02
    • 2012-11-08
    • 2014-11-01
    • 2013-12-02
    • 2012-01-12
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    相关资源
    最近更新 更多