代码之家  ›  专栏  ›  技术社区  ›  SilverLight

如何使用jquery显示不可见控件(隐藏和显示不起作用)

  •  15
  • SilverLight  · 技术社区  · 14 年前

    如何使用jQuery更改控件的可见性?我有一个控件,它的visible属性为false(不是css)。

    当我使用 show() hide() 显示() 方法是为css设置的一个控件,而不是visible属性。

    3 回复  |  直到 4 年前
        1
  •  35
  •   Community pid    7 年前

    visible="false" 在asp.net中表示控件 未呈现到页面中 style="display: none;" 所以它实际上是在HTML中,否则客户端就没有什么可显示的了,因为元素不在服务器发送的HTML中。

    如果你移除 visible style 属性,然后可以使用jQuery显示它,如下所示:

    $("#elementID").show();
    

    patrick's

    改变 visibility .css() ,如下所示:

    $("#elem").css('visibility', 'visible');
    

    除非需要让元素占用页面空间,否则请使用 display: none; 而不是 visibility: hidden; 在CSS中,只需执行以下操作:

    $("#elem").show();
    

    这个 .show() .hide() display 而不是 能见度 ,与大多数jQuery函数一样:)

        2
  •  7
  •   Harold1983-    14 年前

    .show()和.hide()修改css显示规则。我想你想要:

    $(selector).css('visibility', 'hidden'); // Hide element
    $(selector).css('visibility', 'visible'); // Show element
    
        3
  •  1
  •   Andy    12 年前

    下面是我用来处理这个问题的一些代码。

    首先我们显示元素,它通常会通过.show()函数将显示类型设置为“block”,然后将CSS规则设置为“visible”:

    jQuery( '.element' ).show().css( 'visibility', 'visible' );
    

    jQuery( '.element' ).toggleClass( 'hidden' );
    

    最后,如果你想连锁功能,也许有一个褪色效果的幻想,你可以这样做:

    jQuery( '.element' ).css( 'visibility', 'visible' ).fadeIn( 5000 );
    
        4
  •  0
  •   Gary Bao 鲍昱彤 user17749919    4 年前

    已经10多年了,不确定是否还有人发现这个问题或答案是相关的。

    但是一个快速的解决方法就是把 asp control 在一个 html container

    <div id="myElement" style="display: inline-block">
       <asp:TextBox ID="textBox1" runat="server"></asp:TextBox>
    </div>
    

    每当 Javascript Event asp控件 ,只需将 asp控件 div 容器。

    <div id="testG">  
       <asp:Button ID="Button2" runat="server" CssClass="btn" Text="Activate" />
    </div>
    

    jQuery代码如下:

    $(document).ready(function () {
        $("#testG").click(function () {
                    $("#myElement").css("display", "none");
         });
    });