0

XSL 示例:

<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=hidden。那个 jquery 和 css 是这样的:

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

当 onclick 事件发生在 xsl 选择顶部的 id=35 部分时,addClass 和 removeClass 可以正常工作。

问题是,class=hidden 的默认部分显示空白屏幕截图:

提交上方可见的空白

当我在常规 html 中对此进行测试时,显示没有正常工作,没有空间。任何帮助将不胜感激。我想摆脱那个空白,并将提交按钮放在它属于最后一个问题的位置。

提前致谢

更新:当我查看 html 时,我看到了问题——来自数据库的一些其他模板或数据调用正在添加<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>

这超出了我的 div class=hidden

所以,一旦我能消除它,它就应该合作。

4

1 回答 1

0

查看原始 html 输出后,页面上包含模板,这些模板之间有<br />标记,导致额外空间。

一旦这些被删除,间距就会从页面中删除,因为它应该。

于 2013-10-22T19:51:36.223 回答