使用getElementById设置图像src("")。src在xsl中不起作用

时间:2014-01-03 12:39:54

标签: javascript html xslt xslt-1.0

我有以下脚本:

      <script language="text/javascript">
        document.getElementById("eagle").src="http://path.com:8000/OA_HTML/1.gif";
      </script>

和html:

<img id="eagle" src="godlo.gif" width="60" height="60"/>

我不会JS改变图像的路径,但保持不变。 为什么这不起作用?在js fidle它完全正常,所以为什么这不会在xslt中工作? 也许有一个解决方法?

更新

我已编辑此帖子以添加xsl文件。虽然我认为这里没有必要。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
  <xsl:output method="html"/>
  <xsl:template match="*">
    <html>
      <head>
        <title>D</title>
      </head>
      <script language="text/javascript">
        document.getElementById("eagle").src="http://example.com:8000/OA_HTML/1.gif";
      </script>
      <body>
              <p  style="text-align:center;"><img id="eagle" src="1.gif" width="60" height="60"/></p>
</body>
    </html>
  </xsl:template>

2 个答案:

答案 0 :(得分:0)

您的脚本不知道eagle的位置,请将脚本放在img标记下方。还需要将<script language="text/javascript">更改为<script type="text/javascript">

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output method="html"/>
<xsl:template match="*">
  <html>
    <head>
      <title>D</title>
  </head>

  <body>
          <p  style="text-align:center;"><img id="eagle" src="1.gif" width="60" height="60"/></p>
</body>
<script type="text/javascript">
    var picurl = window.location.protocol+"//"+window.location.hostname+"/OA_HTML/godlo.gif/>";
    document.getElementById("eagle").src="http://example.com:8000/OA_HTML/1.gif";
  </script>
</html>
</xsl:template>

答案 1 :(得分:0)

@Ishank Gupta在评论中发布的解决方案是正确的:

<script language="text/javascript">更改为<script type="text/javascript">就可以了。