转换XSLT替换内部<div> html </div>

时间:2014-05-08 13:51:09

标签: xml xslt

我是XML和XSLT的新手,我一直在复制/粘贴我发现的代码,以适应我的一些情况。 我认为我的代码大部分是正确的,但有一件事我无法解决。 预期输出 - 取决于按下哪个按钮,它将在一个名为'example'的div中加载两个转换后的XLM'页面'中的一个。

这就是脚本中的内容,它“按原样”运行。 的document.getElementById( “例如”)的appendChild(resultDocument);

现在我不想追加孩子,我只是想替换那里的东西,因为如果他们不止一次点击按钮我会在桌子上得到桌子。

我尝试过这方面的变化: 的document.getElementById( “例如”)的innerHTML = resultDocument;

我还尝试了if then语句,检查div是否为空,但仍然没有骰子。

我可以发布更多我的代码,但我很确定这就是捏造它。

BTW - 它在FireFox中“按原样”运行,但不是IE(我知道的其他组的问题)我需要它,因为我的观众只会使用IE9 +。

1 个答案:

答案 0 :(得分:0)

您需要向我们展示您创建和分配resultDocument的代码。通常在IE中,XSLT API是MSXML中的一个,并且是例如MSXML的结果。 transformNode是一个字符串,而不是文档或DOM节点。所以我很惊讶在IE中你有document.getElementById("example").appendChild(resultDocument);工作。但如果你有它,那么

var element = document.getElementById("example");
element.innerText = ''; // removes any content
element.appendChild(resultDocument);

应该足以用变量resultDocument中的节点替换元素的内容。