Javascript 分配给innerHTML时,HTML标记会发生更改

Javascript 分配给innerHTML时,HTML标记会发生更改,javascript,html,xml,xslt,Javascript,Html,Xml,Xslt,我有一个XML,我正在使用XSL将其转换为HTML。我的转换成功,我得到的结果字符串如下:-` <TABLE xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xslscript="http://mycompany.com/mynamespace" border="0" width="100%"> <TR align="center"> <TD> <TABLE bor

我有一个XML,我正在使用XSL将其转换为HTML。我的转换成功,我得到的结果字符串如下:-`

<TABLE xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xslscript="http://mycompany.com/mynamespace" border="0" width="100%">
   <TR align="center">
      <TD>
         <TABLE border="0" cellspacing="0" cellpadding="0" width="100%">
            <FORM action="jhk" method="get" id="frmMain" name="frmMain">
               <TR>
                  <TD class="tableBg">
                     <TABLE border="0" cellspacing="1" cellpadding="3" width="100%">
                        <TR class="mainListRow">
                           <TD colspan="7">
                              <TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
                                 <TR>
                                    <TD class="ListTableTitle" width="12%" nowrap="nowrap">Select Value                    </TD>
                                 </TR>
                              </TABLE>
                           </TD>
                        </TR>
                        <TR width="100%">
                           <TD valign="top" width="100%">
                              <DIV id="listing" width="100%">
                                 <input type="hidden" id="keyField" value="partnerCd"/>
                                 <TABLE STYLE="background-color:white" id="tblList" border="0" bordercolor="#0099CC" cellspacing="0" width="100%">
                                    </THEAD>
                                    <tr>
                                       <TD align="center" width="8px" height="10px"/>
                                       <TD colspan="1">
                                          <table width="100%" border="0" cellpadding="0" cellspacing="0">
                                             <tr>
                                                <td><input type="text" class="text" name="searchFields" value=""/></td>
                                             </tr>
                                          </table>
                                       </TD>
                                       <TD colspan="1">
                                          <table width="100%" border="0" cellpadding="0" cellspacing="0">
                                             <tr>
                                                <td/>
                                                <td align="right"><input type="button" class="buttonsNewCancelDeleteClose" id="buttonsSearchId" name="buttonsSearch" value="Search" onclick="searchPaginated()"/></td>
                                             </tr>
                                          </table>
                                       </TD>
                                    </tr>
                                 </TABLE>
                              </DIV>
                           </TD>
                        </TR>
                     </TABLE>
                  </TD>
               </TR>
               <TR>
                  <td>
                     <table cellpadding="0" cellspacing="0" width="100%">
                        <tr class="tableFooter">
                           <td class="tableFooter" align="left" width="10%"/>
                           <TD class="tableFooter" id="tableFooter" width="90%" align="right"/>
                        </tr>
                     </table>
                  </td>
               </TR>
            </FORM>
         </TABLE>
      </TD>
   </TR>
</TABLE>
`

然后我将其分配给文档的innerHTML。。 但是表单标记在赋值后在同一行中关闭。如下

<FORM action="jhk" method="get" id="frmMain" name="frmMain"></FORM>
无法理解标签为什么会聚集。请任何人帮忙。我找不到任何错误匹配

谢谢,A不能在A里面


将它放在周围或一个

中。此外,在示例HTML的第24行有一个零散的标记。此错误标记会导致无效标记,这可能会导致您看到的症状。

如果HTML无效,浏览器可能会做一些奇怪的事情。HTML是否有效?我有一种感觉,表格中的表单标签看起来不可靠。感谢您的回复,可能是重复的,但问题是IE中的代码工作方式相同。我只是在chrome中使用时遇到了问题。当向浏览器显示无效HTML时,所有赌注都被取消,每个浏览器的反应都不同,并尝试尽可能地进行调整。不要试图关注为什么它在Chrome中不起作用,首先要确保你的初始HTML是有效的。我一定会试试这个。但对我来说奇怪的是,它在IE中工作的方式和在chrome中不工作的方式是一样的。虽然在IE中,转换是通过transformNode和chrome完成的,但我使用的是XSLTProcessor。谢谢,这是我的错误,实际上这是一个大文件,我删除了一些多余的标记来给出这个想法。