1

我有以下 ASP.NET 代码。当我点击按钮时,一开始一两次,div div1里面的文字消失了一会儿,然后又显示出来了。但是,当我现在尝试它时,它永远不会消失。div 中的文本只是保留。

<head runat="server">
<title></title>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(
        function () {
            $("#div1").css("color", "red");
            $("#btn").click(function () {
                $("#div1").fadeOut("slow");
            });
        });
</script>

<body>
<form id="form1" runat="server">
<div class="ab" id="divTest" runat="server">test</div>
    <asp:Button ID="btn" runat="server" Text="GET" />
    <div id="div1" runat="server"> 
        <div>test new </div>                
        <div id="divTestArea1">
            <b>Bold text</b>
            <i>Italic text</i>
            <div id="divTestArea2">
                    <b>Bold text 2</b>
                    <i>Italic text 2</i>
                    <div>
                            <b>Bold text 3</b>
                    </div>
            </div>
        </div>  
   </div>
</form>

4

1 回答 1

4

您必须使用服务器控件的 ClientID,因为您的 div 具有属性 runat="server" 因此 asp.net 将为它生成 ClientID,这将不同于原始的。由于ClientIDMode未设置为静态。

现场演示

$(document).ready(
    function () {
        $("#<%= div1.ClientID %>").css("color", "red");
        $("#<%= btn.ClientID %>").click(function () {
            $("#<%= div1.ClientID %>").fadeOut("slow");
            return false; // to stop postback
        });
 });
于 2012-11-29T12:56:13.840 回答