2013-10-16 20 views
0

XSL樣本:XSL CSS的jQuery - 隱藏DIV仍表現出空間

<xsl:choose>    
     <xsl:when test="../@id='35'">     
      <strong><xsl:value-of select="."/><br /></strong> 
     <font class="uportal-channel-text"> 
     <input name="response35" value="Yes" type="radio" onclick="show()"></input>Yes&nbsp; 
     <input name="response35" value="No" type="radio" onclick="hide()"></input>No&nbsp; <br /><p></p>    
     </font> 
     </xsl:when> 
     <xsl:when test="../@id='36'">     
      <div class="show1 hidden"><div id="ask-heading"><strong><xsl:value-of select="."/><br /></strong></div></div> 
     </xsl:when> 
     <xsl:when test="../@id='37'">     
      <div class="show1 hidden"> 
       <strong><xsl:value-of select="."/><br /></strong> 
       <font class="uportal-channel-text"> 
       <textarea cols="20" rows="1" name="response37" maxlength="255"></textarea> 
       <br /> <p></p>    
       </font> 
      </div> 
     </xsl:when></xsl:choose> 

注意DIV CLASS =隱藏在每個部分。這jQuery和CSS是這樣的:

<style> 
     .hidden{display: none;}   
    </style> 
    <script type="text/javascript"> 
     function show(){ 
      $('.show1').removeClass('hidden'); 
     } 
     function hide(){ 
      $('.show1').addClass('hidden'); 
     } 
    </script> 

的addClass與removeClass正常工作時的onclick事件ID = 35節在XSL選擇的頂部發生。

的問題是,在默認的部分是類=隱藏的顯示空白 屏幕截圖:

white space visible above the submit

當我測試這在常規的HTML,顯示沒有正常工作,沒有空間。任何援助將不勝感激。我想擺脫這個空白區域,並在最後一個問題下將提交按鈕放在它所屬的位置。

在此先感謝

更新: 我看到了問題,當我查看HTML - 從DB一些其他的模板或數據呼叫是增加<br /><p></p>每個問題。

<div class="show1 hidden"> 
    <strong>Total enrollment: 
    <br /> 
    </strong><font class="uportal-channel-text"> 
    <textarea maxlength="255" name="response37" rows="1" cols="20"></textarea> 
    <br /><p></p></font> 
</div> 
<br> 
<p></p> 

這屬於outisde我DIV CLASS =隱藏

所以,一旦我能夠有效地消除,就應該進行合作。

+0

生成的HTML(經過XSL轉換)看起來像什麼? –

+0

@MrLister謝謝,我發現有一些break標籤和p標籤落在隱藏div之外,很可能導致我的空間。 – user1689274

回答

0

查看原始html輸出後,有一些模板包含在頁面上,導致額外空間的<br />標記。

一旦這些被刪除,間距已從頁面中刪除,因爲它應該。