我无法从一个非常简单的XML文件中获取 html ,如下所示。在这种情况下,我只得到一个文本字符串为“mots< i>français< / i>”而不是HTML格式的文本“mots français”:
<content>
<text id="n1">
<fr><![CDATA[mots <i>français</i>]]></fr>
<en><![CDATA[<i>english</i> words]]></en>
</text>
... and so on
</content>
这样的xml文件使用这个jQuery脚本从XML获取字符串。然后,对于我想要不同语言内容的每个元素,我将一个值添加到 data - 属性(即&lt; p data-langtag = n1&gt; ...&lt; / p&gt;)。
$.ajax({
type: "GET",
url: defaults.file,
dataType: "xml",
success: function(xml) {
$(xml).find('text').each(function() {
var textId = $(this).attr("id");
var text = $(this).find(defaults.lang).text();
aTexts[textId] = text;
});
$.each($("*"), function(i, item){
//alert($(item).attr("data-langtag"));
if($(item).attr("data-langtag") != null)
$(item).fadeOut(150).fadeIn(150).text(aTexts[$(item).attr("data-langtag")]);
});
}
});
在页面中有两个可点击的元素可以选择英语或法语 但它只使用XML中的简单文本 我甚至试过这个帮手... https://github.com/kamranayub/jQuery-XML-Helper但是没办法,它在这里不起作用。
你知道要解决这个问题吗? Tx很多
答案 0 :(得分:0)
如果没有真正尝试这一点,我怀疑你的问题是你正在使用jQuery的text()
方法来设置HTML,所以它正在逃避尖括号。尝试:
$(item).fadeOut(150).fadeIn(150).html(stuff)
答案 1 :(得分:0)
疯狂的猜测 - 第一次&amp; CDATA中的最后一个元素必须是HTML标记:
<fr><![CDATA[<span>mots <i>français</i></span>]]></fr>
<en><![CDATA[<span><i>english</i> words</span>]]></en>