1

以下の ASP.NET コードがあります。ボタンをクリックすると、最初に 1 ~ 2 回、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

div には属性 runat="server" があるため、サーバー コントロールの ClientID を使用する必要があります。そのため、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 に答える