我有以下javascript代码:
$(xml).find("question").each(function(){
if($(this).attr("id") == stage){
rule1 = $(this).find("sentence[id='1']").text();
rule2 = $(this).find("sentence[id='2']").text();
}
});
然后我使用.innerHTML将文本粘贴到html文档中的div中。 除了Safari之外,这个过程在所有常见的浏览器中都能很好地工作,其中句子2在div中被复制。
编辑感谢Frédéric的评论,我能够修改现有的XML和代码,以便在Safari中使用它。 修改的
旧XML:
<test>
<question id="1">
<sentence id="1">Even Odd Odd</sentence>
<sentence id="2">8 3 5</sentence>
</question>
<question id="2">
<sentence id="1">Odd Odd Odd</sentence>
<sentence id="2">5 1 7</sentence>
</question>
<question id="3">
<sentence id="1">Even Even Even</sentence>
<sentence id="2">9 7 3</sentence>
</question>
</test>
新XML:
<test>
<question id="q1">
<sentence id="q1s1">Even Odd Odd</sentence>
<sentence id="q1s2">8 3 5</sentence>
</question>
<question id="q2">
<sentence id="q2s1">Odd Odd Odd</sentence>
<sentence id="q2s2">5 1 7</sentence>
</question>
<question id="q3">
<sentence id="q3s1">Even Even Even</sentence>
<sentence id="q3s2">9 7 3</sentence>
</question>
</test>
例如,问题1的输出将是偶数奇数(第1句)
8 3 58 3 5(第2句)
有没有人经历过类似的事情,并且可以提出修复/解决方法?
感谢您的时间。
编辑谢谢Frédéric! 修改的
答案 0 :(得分:-1)
如果您无法更改XML源,并且您的ID不对应于节点索引顺序(如我的情况),请首先使用find('data [id = XX]')获取节点的索引.index() ,以及使用eq()搜索访问text()函数。所以:
$(this).find("sentence").eq($(this).find("sentence[id='2']").index()).text();
希望得到这个帮助。