Click here to Skip to main content
15,888,816 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
How do i reference the inner div element. With HTML everything works fine,whereas with XSLT something is messy.Kindly try pointing out the problem
<pre lang="xml"><?xml version="1.0" encoding="utf-8" ?>
<!-- Edited by XMLSpy® -->
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
</catalog

>



the xslt file is .I am not able to add the innerHTML Varun tested

XML
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
      <html>
        <head>
          <script type="text/javascript">
            function mine()
            {
            var x= doxument.getElementById(divid).getElementsByTagName('div')[0];
            x.innerHTML="Varun tested!";

            }
          </script>
        </head>
        <body>
          <h2>My CD Collection</h2>
          <table border="1">
            <tr bgcolor="#9acd32">
              <th>Title</th>
              <th>Artist</th>
            </tr>
            <tr>
              <td>
                <xsl:value-of select="catalog/cd/title" />
              </td>
              <td>
                <xsl:value-of select="catalog/cd/artist" />
              </td>
            </tr>
            <div id="divid" runat="server" onclick="mine()">
              Mycontents are the same, need a updation
              <div id="divid2" runat="server">
                </div>
            </div>

          </table>
        </body>
      </html>
    </xsl:template>
  </xsl:stylesheet>
Posted

1 solution

You would need to wrap the script in a CDATA block. (importing it from a separate .js file would be even better)
<script type="text/javascript">
<![CDATA[
            function mine()
            {
            var x= doxument.getElementById(divid).getElementsByTagName('div')[0];
            x.innerHTML="Varun tested!";

            }
]]>
</script>


Good luck!
 
Share this answer
 
Comments
VarunKumarGB 18-Jan-11 3:30am    
Thanks Nijboer..

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900