额外的HTML,我没有写

时间:2013-12-27 03:26:13

标签: html coldfusion

我的程序有一个错误 - 输出中有额外的垃圾,不属于那里。 Firebug向我展示了可以产生这种不需要的垃圾的代码行,但我的程序中没有这些行。我花了几个小时才解决这个问题。这就是Firebug所说的内容(波浪括号中的内容是我的评论:

<tr>
<td class="repnum" style="width: 20px">1 </td>                {td 1}
<td class="reprow" style="text-align: left; "> Maura</td>     {td 2}
<td class="reprow" style="text-align: left; "> Cronin</td>    {td 3}
<td class="repsort subhead"> </td>                   cannot find this anywhere 
</tr>
<tr>                                                 cannot find this anywhere
<td class="repsort2 subhead "> </td>                 cannot find this anywhere
</tr>                                                cannot find this anywhere

我的计划的一部分如下。实际程序中还包含其他ColdFusion内容,但没有其他HTML。

 <tr>
   ... other stuff ...
 <cfloop from = "#subpage1#" to = "#subhind_1#" index = "j"> 
 <cfif sortnum[j] EQ 'y'>
   <cfif subhdup[j][row] EQ "NO">
   <cfset ctr[j] = 1>
   <cfelseif subhdup[j][row] EQ "YES">
   <cfset ctr[j] = ctr[j] + 1> <cfloop from = "#subpage1#" to = "#subhind_1#" index = "j"> 
   <cfif sortnum[j] EQ 'y'>
   <cfif subhdup[j][row] EQ "NO">
   <cfset ctr[j] = 1>
   <cfelseif subhdup[j][row] EQ "YES">
   <cfset ctr[j] = ctr[j] + 1>
   </cfif>

   <td class = "repnum" style = "width: 20px">#ctr[j]# </td>  td 1
 </cfif>
 </cfloop>


<cfloop from = "#subhind#" to = "#bbcollen#" index = "j">
<cfset col = bbcol[j]>

 <cfset i = i + 1>
       <cfif linefold GT 0>
       <cfset imod = i%linefold>
       <cfelse>
       <cfset imod = 1>
       </cfif>

       <cfif linefold EQ 0 OR (linefold GT 0 AND i LE linefold)> 
       <cfset lineclass = "reprow">
       <cfelse>
       <cfset lineclass = "reprow2">
       </cfif> 

      <cfif repdetail NEQ 'n'>     
      <cfoutput>
      <cfset jcol = inpcol[j]>
      <cfset temp    = structaux["#jcol#InputType"]> 

      <cfif temp EQ "num" OR temp EQ "one"> 
        <cfset anumform = NumberFormat(qrep[col][currentrow],.99)>
           <td class = "#lineclass#" style = "text-align: right"> #anumform#</td> 
      <cfelseif temp EQ "date">
           <cfset adate = DateFormat(qrep[col][currentrow],'mm/dd/yyyy')>
              <cfif adate EQ "01/01/1001">
              <cfset adate = "~">
              </cfif>
           <td class = "#lineclass#" style = "text-align: left"> #adate#</td> 
      <cfelse>
            <td class = "#lineclass#" style = "text-align: left; "> #qrep[col][row]#</td>

      </cfif><!---temp eq num --->

</cfloop> <!---subhind to bbcollen --->  
  ... other stuff ...
</tr>

有人有建议吗?


根据要求我扩展了代码

有人说这是关于空白的。它不是。如果是空白,我会没事的。但是我有各种各样的css掉进那些额外的空间,创造边界等等。它确实产生了难以辨认的混乱。

4 个答案:

答案 0 :(得分:1)

我认为这个Stack问题可以更好地回答为什么存在随机html输出。它也可能是浏览器试图纠正代码中可能存在的所有错误的HTML ...换句话说,您可能会遇到一个小错误,例如您的标记不匹配在一起..无论哪种方式,浏览器都会捕获错误,仍然产生您想要的确切代码。话虽如此,除非你想忽略你的代码并找到标签可能无法匹配的确切位置,否则实际上没什么可烦恼的。

由于我对ColdFusion的知识非常有限,我建议Syntax Checker另一个Stack问题已经过去了。在找到您的语法是否正确后,这可能会突出显示需要处理的确切区域。

答案 1 :(得分:1)

除非代码说明,否则ColdFusion不会生成<tr><td>

通常额外的空格不重要,不会改变浏览器上显示的内容。

如果您的区域必须没有空格,请添加<cfsilent> make以删除空间生成。

答案 2 :(得分:0)

确保您确实在查看正确的代码块。我之所以这么说是因为你的CF逻辑在class属性的等号的两边都有空格但是渲染的HTML没有(我不确定你是否修改过它)。我每天都使用CF而且从未见过这个。在查看源代码时,浏览器会不时添加html,例如<thead><tbody>标记,但在您的示例中没有任何内容。我会说(1)确保你正在查看正确的代码块(2)显示更多的页面,以便我们可以按照流程进行操作,例如,设置#lineclass#。只需按照逻辑,添加一些cfdumps,或发布整页,以便我们可以提供更多帮助。

答案 3 :(得分:0)

我愿意打赌您的1974年福特Pinto,如果您对项目中的所有代码进行扩展文本搜索,所有文件类型,您将找到您正在考虑额外的代码。 / p>