jquery用css加载默认div

时间:2012-10-31 16:04:22

标签: jquery asp.net

我有一个DIV,它会在按钮点击时加载其他DIV,但是要加载的默认DIV不会使用它来注册其CSS。我的CSS很长,没有。 “ProfileSettingsContainer”DIV中的元素取决于它。如何在我的CSS中默认加载此DIV?感谢。

        <script type="text/javascript">
            $(document).ready(function () {
                // Load default div into 'LeftPanelinfo' Div
                $("#leftpanelinfo").html($("#ProfileSettingsContainer").html());

                $(".settings").click(function () {
                    $("#leftpanelinfo").html($("." + $(this).attr('rel')).html());
                });


            });
        </script>

     <div id="ProfileSettingsContainer" style="padding: 15px; height:400px; width:400px;">
         <div style="clear:both">
                  <div style="float:left; width:40%">FirstName</div>
                  <div style="float:right; width:60%"><asp:TextBox ID="username" CssClass="FirstName" runat="server" /></div>
         </div>
         <div style="clear:both">
                  <div style="float:left; width:40%">Last Name</div>
                  <div style="float:right; width:60%"> <asp:TextBox ID="TextBox1" CssClass="LastName" runat="server" /></div>
         </div>
         <div style="clear:both">
                  <div style="float:left; width:40%">Birthdate</div>
                  <div style="float:right; width:60%">3</div>
         </div>
              <div style="clear:both">
                  <div style="float:left; width:40%">Location Zipcode</div>
                  <div style="float:right; width:60%">3</div>
         </div>
              <div style="clear:both">
                  <div style="float:left; width:40%">Biography</div>
                  <div style="float:right; width:60%">3</div>
         </div>
     </div>

CSS:

   #ProfileSettingsContainer:before
        {
            content: '';
            position: absolute;
            z-index: -1;
            border: 1px dashed #ccc;
            top: 5px;
            bottom: 5px;
            left: 5px;
            right: 5px;
            -moz-box-shadow: 0 0 0 1px #fff;
            -webkit-box-shadow: 0 0 0 1px #fff;
            box-shadow: 0 0 0 1px #fff;
        }

        h1
        {
            text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0px 2px 0 rgba(0, 0, 0, .5);
            text-transform: uppercase;
            text-align: center;
            color: #666;
            margin: 0 0 30px 0;
            letter-spacing: 4px;
            font: normal 26px/1 Verdana, Helvetica;
            position: relative;
        }

        fieldset
        {
            border: 0;
            padding: 0;
            margin: 0;
        }

        #ProfileSettingsContainer input
        {
            padding: 15px 15px 15px 30px;
            margin: 0 0 10px 0;
            width: 250px; /* 353 + 2 + 45 = 400 */
            height: 4px;
            border: 1px solid #ccc;
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            border-radius: 5px;
            -moz-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
            -webkit-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
            box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff;
        }

        #ProfileSettingsContainer input:focus
        {
            background-color: #fff;
            border-color: #e8c291;
            outline: none;
            -moz-box-shadow: 0 0 0 1px #e8c291 inset;
            -webkit-box-shadow: 0 0 0 1px #e8c291 inset;
            box-shadow: 0 0 0 1px #e8c291 inset;
        }

        /*--------------------*/
        #actions
        {
            margin: 25px 0 0 0;
        }

        .submit
        {
            background-color: #ffb94b;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#fddb6f), to(#ffb94b));
            background-image: -webkit-linear-gradient(top, #fddb6f, #ffb94b);
            background-image: -moz-linear-gradient(top, #fddb6f, #ffb94b);
            background-image: -ms-linear-gradient(top, #fddb6f, #ffb94b);
            background-image: -o-linear-gradient(top, #fddb6f, #ffb94b);
            background-image: linear-gradient(top, #fddb6f, #ffb94b);
            -moz-border-radius: 3px;
            -webkit-border-radius: 3px;
            border-radius: 3px;
            text-shadow: 0 1px 0 rgba(255,255,255,0.5);
            -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
            -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
            box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset;
            border-width: 1px;
            border-style: solid;
            border-color: #d69e31 #e3a037 #d5982d #e3a037;
            float: left;
            height: 35px;
            padding: 0;
            width: 120px;
            cursor: pointer;
            font: bold 15px Arial, Helvetica;
            color: #8f5a0a;
        }

        .submit:hover, .submit:focus
        {
            background-color: #fddb6f;
            background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb94b), to(#fddb6f));
            background-image: -webkit-linear-gradient(top, #ffb94b, #fddb6f);
            background-image: -moz-linear-gradient(top, #ffb94b, #fddb6f);
            background-image: -ms-linear-gradient(top, #ffb94b, #fddb6f);
            background-image: -o-linear-gradient(top, #ffb94b, #fddb6f);
            background-image: linear-gradient(top, #ffb94b, #fddb6f);
        }

        .submit:active
        {
            outline: none;
            -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
            -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
        }

        .submit::-moz-focus-inner
        {
            border: none;
        }

1 个答案:

答案 0 :(得分:1)

我相信这是因为html()加载你div的内容 - 而不是div本身。

所以你可以做类似

的事情
<div id="loadOuterDiv">
    <div id="ProfileSettingsContainer" style="...">
        ...
    </div>
</div>

然后

$("#leftpanelinfo").html($("#loadOuterDiv").html());

或者你也可以将#ProfileSettingsContainer CSS应用到#leftpanelinfo并保持你的javascript不变。