分配给innerHTML时,HTML标记会发生变化

时间:2017-06-16 14:45:56

标签: 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 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>

`

然后我将它分配给Document的innerHTML .. 但是表单标签在分配后在同一行中关闭。如下所示

<FORM action="jhk" method="get" id="frmMain" name="frmMain"></FORM>

无法理解为什么标签是拉力赛。任何人都可以帮忙。我找不到任何错配。

谢谢

2 个答案:

答案 0 :(得分:1)

<form>不能在<table>内。

将其放在<table><td>

周围

答案 1 :(得分:0)

此外,您的示例HTML第24行还有一个迷路</THEAD>标记。这个迷路标记会导致无效的标记,这可能会导致您看到的症状。