我正在使用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
关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
抱歉延迟回复。
我发现问题是避免使用方法“createElementNS”,而是在创建父节点时使用“createElement”方法。此节点的后续附件不会引发任何问题。但是,当您追加到最初使用“createElementNS”创建的节点时会出现问题。
这似乎特定于IE10,因为NS方法在chrome,FF和Safari上运行良好。
谢谢大家的提示和想法。